1

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

4

2 回答 2

1

ScriptRegistrar 有两个主要职责:

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

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

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

于 2011-01-08T12:46:56.157 回答
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 包含(以及其他脚本,如果它们被拾取)。

于 2011-01-05T09:42:42.570 回答