【问题标题】:Using jQuery to load Telerik MVC scripts使用 jQuery 加载 Telerik MVC 脚本
【发布时间】:2011-05-26 09:15:35
【问题描述】:

我正忙于构建我的第一个使用 Telerik MVC 组件的 MVC 应用程序。他们的文档指定在视图底部调用 ScriptRegistrar 助手,例如“在母版页的末尾。”。我假设这会呈现一个脚本块,该脚本块只能在页面加载时运行。我通常更喜欢使用 jQuery 来实现这一点,并将所有与脚本相关的内容放在我的母版页顶部,最好是在 <head> 标记中。我可以做些什么来使用 Telerik 组件实现这一点,并消除我的母版页底部的孤独和被遗忘的助手调用吗?

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-3 telerik-mvc


    【解决方案1】:

    ScriptRegistrar 有两个主要职责:

    1. 渲染 UI 组件所需的 JavaScript 文件
    2. 为 UI 组件渲染 JavaScript 初始化脚本

    解释了为什么 ScriptRegistrar 需要位于页面的最后。之所以如此,是因为所有 UI 组件都必须在渲染期间向其注册。由于缺少任何生命周期(顺便说一句,这是一件好事),ScriptRegistrar 必须最后出现(因此呈现)。否则 UI 组件注册太晚 - ScriptRegistrar 已经吐出它的输出了。

    要回答您的问题 - 是的,您可以省略 ScriptRegistrar 并自己包含所需的 JavaScript 文件。但是,您随后需要手动初始化 UI 组件。后者是可能的,但没有记录。

    【讨论】:

      【解决方案2】:

      ScriptRegister 块生成的代码类似于

      <script type="text/javascript" src="/asset.axd?id=dgAAAB-LCAAAAAAABADsvQdgHEmWJSYvbcp7f0r1StfgdKEIgGATJNiQQBDswYjN5pLsHWlHIymrKoHKZVZlXWYWQMztnbz33nvvvffee--997o7nU4n99__P1xmZAFs9s5K2smeIYCqyB8_fnwfPyJ-8Uezjx597xd_tPro0Uevp3WxapuPRh-d82dL-uynf9E6r6-3d8f743vjn8Z31UePdn7J93_J90cfTVtq0Obv2rs_nV1mDb9NDS7p072d3d0x_be7e58-mVIf9z69T7989Kit1_kv-X8CAAD__9hh2r92AAAA"></script>
      

      它没有提供关于正在渲染什么脚本的线索。但是,使用 FireFox 的快速峰值表明正在加载 jQuery。我建议您从 scriptregister 块开始,然后使用 Firebug 找出它的调用,然后尝试将其全部换成 jQuery 包含(以及其他脚本,如果它们被拾取)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多