使用jQuery加载Telerik MVC脚本

时间:2010-12-16 06:59:31

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

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

2 个答案:

答案 0 :(得分:1)

ScriptRegistrar有两个主要职责:

  1. 呈现UI组件所需的JavaScript文件
  2. 呈现UI组件的JavaScript初始化脚本
  3. 有一个解释为什么ScriptRegistrar需要在页面中的最后。这是因为所有UI组件必须在渲染期间向其注册。由于缺乏任何生命周期(顺便说一句,这是一件好事),ScriptRegistrar必须最后出现(因此呈现)。否则,UI组件将注册太晚 - ScriptRegistrar已经吐出了它的输出。

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

答案 1 :(得分:0)

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 include(以及其他脚本,如果它们被拾取)。