我在我的ASP.NET MVC3剃刀应用程序中使用了最新版本的Telerik MVC扩展。我还下载了最新版本的jQuery。
我将我的jQuery文件放在不同的目录中,以了解Visual Studio默认的内容。这是因为我已经下载了最新版本的jQuery jQuery1.6.2.min.js。我将我的Telerik MVC内容和脚本目录放在不同的目录中。至于我所看到的,Telerik脚本需要首先加载jQuery文件。我已经删除了ASP.NET MVC应用程序默认附带的内容和脚本目录。
Telerik脚本目录:
~/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(false)需要在哪里指定?只有在DefaultGroup之后?还是在任何地方?
发布于 2011-08-19 05:01:25
我认为在这里最简单的事情应该是:
@(Html.Telerik().ScriptRegistrar().DefaultGroup(group => group
.DefaultPath("~/Assets/telerikaspnetmvc/2011.2.712/Scripts/").Combined(true)
.Compress(true)).jQuery(false))
很抱歉,如果这看起来有点压缩-代码片段样式拒绝应用于任何其他设置。无论如何,完成后,请在页面的head部分注册以下内容:
<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) (我必须在上面添加它)。这将需要为每个组添加。
https://stackoverflow.com/questions/7103051
复制相似问题