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>
        查了很多资料,都一一试了试,这三种方法是可行的,希望能够帮到大家,嘿嘿!





             

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值