在我的web应用程序中,我遇到以下错误:

WebForms UnobtrusiveValidationMode需要ScriptResourceMapping 用于‘jQuery’.请添加名为的ScriptResourceMapping jQuery(区分大小写).

描述:在执行过程中发生未处理的异常

异常详细信息:System.InvalidOperationException:WebForms UnobtrusiveValidationMode需要以下项的ScriptResourceMapping ‘jquery’.请添加名为的ScriptResourceMapping jQuery(区分大小写).

我该怎么解决呢?

推荐答案

自从NET 4.5验证程序使用数据属性和有界Javascript来进行验证工作,所以.NET希望您为jQuery添加脚本引用.

There are two possible ways to solve the error:


禁用UnobtrusiveValidationMode:

将此添加到web.配置:

<configuration>
    <appSettings>
        <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
    </appSettings>
</configuration>

它将像以前一样工作.NET版本,只需向页面中添加必要的Javascript,即可使验证程序正常工作,而无需在jQuery文件中查找代码.这实际上是常见的解决方案.


另一个解决方案是注册脚本:

在全球.asax Application_Start将映射添加到jQuery文件路径:

void Application_Start(object sender, EventArgs e) 
{
    // Code that runs on application startup
    ScriptManager.ScriptResourceMapping.AddDefinition("jquery", 
    new ScriptResourceDefinition
    {
        Path = "~/scripts/jquery-1.7.2.min.js",
        DebugPath = "~/scripts/jquery-1.7.2.js",
        CdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.min.js",
        CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.js"
    });
}

MSDN的一些细节:

ValidationSettings:UnobtrusiveValidationMode指定ASP.网

如果此键值设置为"无"[默认值],则ASP.NET应用程序

如果此键值设置为"WebForms",则ASP.NET将使用HTML5数据属性和来自客户端验证逻辑的添加脚本引用的后期绑定JavaScript.

Asp.net相关问答推荐

从数据库中检索数据的最快方法

ASP.NET:获取自 1970 年 1 月 1 日以来的毫秒数

WebAPI 请求流支持

如何判断 IIS 是处于 32 位还是 64 位模式

相当于服务器端的 ASP.NET 包括

在使用网络服务器加载它们之前,如何编译 Asp.Net Aspx 页面?

如何使用自动生成的列隐藏 ASP.NET GridView 中的列?

Asp.net 中的下拉列表验证使用必填字段验证器

如何获取 ActionLink 的工具提示?

无法序列化会话状态

将查询参数绑定到 ASP.NET Core 中的模型

解析器错误消息:无法加载类型网络营销

如何避免 ASP.NET MVC 中的 HttpRequestValidationException 呈现导致异常的相同视图

将字典绑定到中继器

如何遍历自定义 vb.net 对象的每个属性?

在后面的代码中删除 css 类

将Bundle 包添加到现有的 ASP.NET Webforms 解决方案

使用 ConfigurationManager.RefreshSection 重新加载配置而不重新启动应用程序

在 Asp.Net MVC 5 中获取登录用户的用户 ID

在 ASP.NET 中写入文件以响应后回发不起作用