我在ASP.NET 4.5 Web窗体应用程序中使用新的Bundling and Minification。 UnobtrusiveValidationMode需要jquery ScriptResourceMapping才能工作,但我正在通过ScriptBundle配置注册它。
我正在使用这样:
bundles.Add(new ScriptBundle("~/Content/Scripts").Include("~/Content/jquery-1.9.0.js"));
但这会产生错误:
WebForms UnobtrusiveValidationMode需要ScriptResourceMapping 为'jquery'。请添加一个名为的ScriptResourceMapping 的jquery(区分大小写)。
要解决错误,请执行以下操作:
ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition { Path = "~/Content/jquery-1.9.0.js" });
但是我想使用Bundling和Minification来组合和最小化所有应用程序脚本(在这个例子中,我只使用jquery文件更简单)。这种情况的最佳解决方案是什么?
答案 0 :(得分:2)
这是一个解决方案,适用于Bundle和Minification,但我不知道它是否是最好的。
bundles.Add(new ScriptBundle("~/Content/Scripts")
.Include("~/Content/jquery-1.9.0.js")
.Include("..."));
ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition { Path = "~/Content/Scripts" });
ScriptResourceDefinition.Path与ScriptBundle虚拟路径相同。