安卓手机做服务器网站,小程序商城哪家好又便宜,百度云建站,武钢建工集团建设公司网站WebForm下的ScriptManager在ASP.NET MVC下自然是不能使用的。于是很多人开始困惑如何管理页面上可能发生冲突的脚本。CodePlex上还有一个项目专门做这件事情#xff0c;当然也有人简单地通过HtmlHelper来解决。如果你看过jQuery UI Extensions for ASP.NET MVC#xff0c;或者… WebForm下的ScriptManager在ASP.NET MVC下自然是不能使用的。于是很多人开始困惑如何管理页面上可能发生冲突的脚本。CodePlex上还有一个项目专门做这件事情当然也有人简单地通过HtmlHelper来解决。如果你看过jQuery UI Extensions for ASP.NET MVC或者是jQuery Grid for ASP.NET MVC你还会找到更多的解决方案。总体上讲这些解决方案的特点是 1.用一个词典管理已经注册的脚本项最后再一次性生成所有注册的脚本。所以你不能漏了在masterpage的bady的最后运行脚本生成。 2.脚本在页面的body区而不是head区。 思考半天感觉复杂了一点。我的解决方案比较简单每次注册脚本调用一个扩展足够了。 代码public static ScriptManagementExtension{ private const string ScriptFormat \tscript src\{0}\ type\text/javascript\/script; private const string CSSFormat \tlink href\{0}\ rel\stylesheet\ type\text/css\/link; private static string IncludeHeader(HtmlHelper helper, string key, string path, string format) { var context helper.ViewContext.HttpContext; var exists context.Items.Contains(key); if (!exists) { var url new UrlHelper(helper.ViewContext.RequestContext, helper.RouteCollection); context.Items[key] true; return string.Format(format, url.Content(path)); } return null; } public static string IncludeScript(this HtmlHelper helper, string path) { return IncludeScript(helper, path.ToLower(), path); } public static string IncludeScript(this HtmlHelper helper, string key, string path) { return IncludeHeader(helper, key, path, ScriptFormat); } public static string IncludeCSS(this HtmlHelper helper, string path) { return IncludeCSS(helper, path.ToLower(), path); } public static string IncludeCSS(this HtmlHelper helper, string key, string path) { return IncludeHeader(helper, key, path, CSSFormat); }}使用的时候在masterPage的head区域加入一个占位标记 asp:ContentPlaceHolder IDScriptContent runatserver / 然后在每个view中你都可以通过下面的代码来注册脚本了 % Html.IncludeCSS(http://www.cnblogs.com/Content/Site.css) %% Html.IncludeCSS(http://www.cnblogs.com/Content/ui.jqgrid.css)%% Html.IncludeCSS(jQuery_Theme, Html.GetThemePath()) %% Html.IncludeScript(http://www.cnblogs.com/Scripts/jquery-1.3.2.min.js)% ... 当然我也有我的困惑。我的困惑就是为什么Microsoft没有直接提供Script管理解决方案抑或是已经提供了我没有发现 转载于:https://blog.51cto.com/kanas/285904