VS2012验证控件出现WebForms UnobtrusiveValidationMode 需要“j

相信很多博友都遇到过这样问题:当我们用vs创建一个空的asp.net项目时,用到验证控件时都会遇到出现异常错误,但是代码检查再三都是没有任何问题的。在做项目的时候,用户进入系统需要验证是否输入验证码,这时需要添加一个验证控件,但在运行的时候出现了如下异常错误:

经过实践,以下三个方案都能解决此问题:

方案一:在程序允许的情况下,降低.Framework的版本,在Web.config中直接修改,具体方法如下:

修改前:

<system.web><compilation debug="true" targetFramework="4.5" /><httpRuntime targetFramework="4.5" /></system.web> 修改后:

<system.web><compilation debug="true" targetFramework="4.0" /></system.web>

方案二:在使用验证控件的当前页面后台page_load中加这样一句代码:UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;

的支持。

正好验证了浏览器所报的错误,这样一来虽然问题解决了,但是由于我们屏蔽了ValidationSettings,当我们想让错误以弹框或其他华丽的形式告知用户时又会报丢失文件的异常错误。所以此方案具有一定的局限性。

  方案三:既然浏览器解析报缺少ScriptResourceMapping的错误,那么我们就在项目中添加即可。

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 = "", CdnDebugPath ="" });

参考资料:https://connect.microsoft.com/VisualStudio/feedback/details/735928/in-asp-net-web-application-visual-basic-the-requiredfieldvalidator

【反思】纸上得来终觉浅,绝知此事要躬行,对于出现的问题要有针对性地思考,对症下药并去实践。刚把这三个方案都试了一下,尽管都可以解决了问题,但相对于方案三来说,前两个方案有一定的局限性。这是由于asp.net4.0升级至asp.net 4.5后,,如果用到了<asp:RequiredFieldValidator/>这样的验证控件,就会出现上述问题。



版权声明:本文为博主原创文章,未经博主允许不得转载。

你可以用爱得到全世界,你也可以用恨失去全世界

VS2012验证控件出现WebForms UnobtrusiveValidationMode 需要“j

相关文章:

你感兴趣的文章:

标签云: