这几天敲牛腩,遇到的问题不少,大多数是自己的代码写错的原因,自己是多么的不认真啊!终于遇到了一个不是自己失误导成的问题。
在验证码那遇到了这样的问题:WebForms UnobtrusiveValidationMode 要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
听见了一个新的名词:“jquery”,心想还没有用到呢啊?怎么回事?
于是就从网上查,原来WebForm使用UnobtrusiveValidationMode來验证,而我没有这种验证的资源。
解决方法:
方法一:在webconfig中找到
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext"value="true" />
<addkey="ValidationSettings:UnobtrusiveValidationMode"value="WebForms" />
</appSettings>
删除<addkey="ValidationSettings:UnobtrusiveValidationMode"value="WebForms" />即可。
如果没有上面两句的话:在appSettings字节中添加
<addkey="ValidationSettings:UnobtrusiveValidationMode"value="None" />
如图:
这么一句话就OK了。
方法二:
在c盘找到AspNet.ScriptManager.jQuery.dll。
路径:C:\Program Files (x86)\Microsoft WebTools\Packages\AspNet.ScriptManager.jQuery.1.8.2\lib\net45
或C:\Program Files (x86)\Microsoft Web Tools\Packages\AspNet.ScriptManager.jQuery.1.7.1\lib\net45
添加到自己所见的项目bin文件夹下。如图:
方法三:
因为WebForm使用UnobtrusiveValidationMode來验证,所以可以设定不要使用UnobtrusiveValidationMode,如下,在Page_Load中设定,
protected voidPage_Load(object sender, EventArgs e)
{
UnobtrusiveValidationMode= UnobtrusiveValidationMode.None;
}
方法总比困难多,一种不行再试另一种。前面几种方法都挺简单的,试了试,都可行。