试图让Telerik scriptreregistrar加载Telerik脚本和自定义脚本

Trying to get Telerik ScriptRegistrar to load Telerik scripts and custom script

本文关键字:脚本 Telerik 自定义 加载 scriptreregistrar      更新时间:2023-09-26

我正在使用最新版本的Telerik MVC扩展与我的ASP。NET MVC 3 razor应用程序。我还下载了最新版本的jQuery。

我有我的jQuery文件在不同的目录,什么是默认与Visual Studio。这样做的原因是因为我下载了最新版本的jQuery jQuery -1.6.2.min.js。我有我的Telerik MVC内容和脚本目录在不同的目录。就我所看到的,Telerik脚本需要首先加载jQuery文件。我已经删除了默认情况下带有ASP的内容和脚本目录。. NET MVC应用程序。

Telerik scripts目录:

~/Assets/telerikaspnetmvc/2011.2.712/Scripts/

jQuery目录:

~/Assets/JavaScripts/jQuery/

我将ScriptRegistrar更改为如下所示:

@(Html.Telerik().ScriptRegistrar()
   .DefaultGroup(group => group
      .DefaultPath("~/Assets/telerikaspnetmvc/2011.2.712/Scripts/")
      .Compress(true)
   )
   .Scripts(scripts => scripts
      .AddGroup("JavaScriptAssetLocation", group => group
         .DefaultPath("~/Assets/JavaScripts/jQuery/")
         .Add("jquery-1.6.2.min.js")
         .Compress(true)
      )
   )
   .jQuery(false)
)

这给了我一个错误。我交换了2,以便它可以先读取jQuery,但它似乎仍然首先加载默认的Telerik JavaScript文件,并导致错误。这是修改后的代码:

@(Html.Telerik().ScriptRegistrar()
   .Scripts(scripts => scripts
      .AddGroup("JavaScriptAssetLocation", group => group
         .DefaultPath("~/Assets/JavaScripts/jQuery/")
         .Add("jquery-1.6.2.min.js")
         .Compress(true)
      )
   )
   .DefaultGroup(group => group
      .DefaultPath("~/Assets/telerikaspnetmvc/2011.2.712/Scripts/")
      .Compress(true)
   )
   .jQuery(false)
)

我在这里做错了什么?请提供代码样本,如何必须做到这一点。

只是另一个问题。我需要为每组指定Compress(true)还是一次就足够了?和jQuery(假)需要指定在哪里?只在DefaultGroup之后?或在任何地方吗?

我认为这里最简单的事情是:

@(Html.Telerik().ScriptRegistrar().DefaultGroup(group => group
  .DefaultPath("~/Assets/telerikaspnetmvc/2011.2.712/Scripts/").Combined(true)
  .Compress(true)).jQuery(false))

抱歉,如果这最终看起来有点压缩-代码片段样式拒绝应用于任何其他设置。无论如何,一旦你完成了这些,在你的页面的标题部分注册以下内容:

<script src="@Url.Content("~/Assets/JavaScripts/jQuery/jquery-1.6.2.min.js")" type="text/javascript"></script>

这将正确链接到你自己的jQuery版本,同时确保默认组的DefaultPath被更改。

至于在这里使用压缩,我认为它不会做太多。这实际上只适用于在一个有多个正在添加的脚本的组中使用. combined (true)时(例如,Telerik组件的默认组)。如果您只使用一个文件(jquery-1.6.2.min.js),则没有必要这样做。因此,只要确保在需要压缩组合组时使用. combined (true)(我必须在上面添加它)即可。