VS2012使用验证控件出现[ASP.NET]WebForms UnobtrusiveValidationMode 需要 'jquery' 的 ScriptResourceMapping。請加入 ScriptResourceMapping 命名的 jquery ,區分大小寫。的解决办法。

方法一:在webconfig中找到

<appSettings>

<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />

<add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" />

</appSettings>

删除<add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" />即可。

如果没有上面两句的话:在appSettings字节中添加

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

这么一句就ok了。

方法二:

1.在网站根目录下新建一scripts文件夹,向里边添加jquery-1.7.2.min.js和jquery-1.7.2.js(可根据自己需要使用不同的版本),

2.在根目录下添加全局应用程序类Global.asax文件,在Application_Start事件中添加如下代码:

ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition

{

Path = "~/scripts/jquery-1.7.2.min.js",

DebugPath = "~/scripts/jquery-1.7.2.js",

CdnPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.7.2.min.js",

CdnDebugPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.7.2.js"

});

方法三:

那是因為Web Form使用UnobtrusiveValidationMode來驗証,所以可以設定不要使用UnobtrusiveValidationMode,如下,在Page_Load中設定,

protected void Page_Load(object sender, EventArgs e)
        {
            UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;
        }

經過上面設定好之後,驗証就會依ASP.NET 4.5之前的方式,建立驗証的物件來驗証,如下圖,