我正在使用新的 Bundling and Minification在 ASP.NET 4.5 Web 表单应用程序中。 UnobtrusiveValidationMode 需要 jquery ScriptResourceMapping 才能工作,但我通过 ScriptBundle 配置注册它。
我这样使用:
bundles.Add(new ScriptBundle("~/Content/Scripts").Include("~/Content/jquery-1.9.0.js"));
但这会产生错误:
WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for 'jquery'. Please add a ScriptResourceMapping named jquery(case-sensitive).
要修复错误,请执行以下操作:
ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition { Path = "~/Content/jquery-1.9.0.js" });
但我想使用捆绑和缩小来组合和最小化所有应用程序脚本(在本示例中,我仅使用 jquery 文件以更简单)。这种情况的最佳解决方案是什么?
最佳答案
这是一个解决方案,可与 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 虚拟路径相同。
关于asp.net - 使用 ScriptBundle 时 UnobtrusiveValidationMode 需要 jquery ScriptResourceMapping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14733584/