WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping

在做牛腩新闻发布系统的时候遇到了这个错误,在好友贵贵的帮助下成功解决。分享给大家。

        错误:

技术分享     

              原因分析:

              VisualStudio 2012(或2013) WebForm 4.5 开发中,很多控件默认Enable了 Unobtrusive ValidationMode(所谓Unobtrusive Validation,就是一种隐式的验证方式)的属性(和jquery的引用相关),但并未对其进行赋值, Programmer必须手动对其进行设置。比如,在进行数据验证时使用的各种validator(今天使用的RequiredFieldValidator控件),以及进行authorization及authenication设置时,由于需要在前端调用jquery来进行身份验证,都默认Enable了 Unobtrusive ValidationMode。如果不对该属性进行配置,将会产生ERROR。

             解决方案:        

             一、在程序允许的情况下,降低.Framework的版本,具体方法如下:

<span style="font-size:18px;"><!--修改前-->
<system.web>
  <compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />	 <!—将其删除-->
</system.web>

<!--修改后-->
<system.web>
  <compilation debug="true" targetFramework="4.0" />
</system.web></span>
            二、更改Web.config配置文件设置Unobtrusive ValidationMode的类型,具体方法如下:

<span style="font-size:18px;"><!--修改前-->
<system.web>
  <compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>

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

<appSettings>
   	 	<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
</appSettings></span>
          三、这种方法可能有些复杂,但也是可行的。具体方法如下:         

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

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

<span style="font-size:18px;">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" 
});</span>
        查了很多资料,都一一试了试,这三种方法是可行的,希望能够帮到大家,嘿嘿!





             

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。