WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。

    一、问题产生的背景:

    在敲牛腩新闻发布系统的后台登录页面的时候,我们用到了RequiredFieldValidator控件(验证非空控件),该控件的作用是禁止输入规定的内容,RequiredFieldValidator控件有一个属性InitialValue(初值的意思),如果它的值是空,那么这个空间就会起到禁止输入规定的内容的作用了——禁止输入“空”,另外,在验证前会自动去掉输入内容两端的空格。当然,这个空间还有一个属性ControlToValidate,这个属性是设置对某个控件进行验证,在牛腩新闻发布系统中,我们用它来验证我们输入的用户名、密码、还有验证码是否为空。

    例:

    下面一代码表示RequiredFieldValidator控件对txtCode(验证码文本框)验证,即不允许验证码为空!

   

<asp:TextBox ID="txtCode" runat="server" CssClass ="textcode" OnTextChanged="txtCode_TextChanged"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="请输入验证码" text="*" ControlToValidate ="txtCode"></asp:RequiredFieldValidator>
    然而,天不遂人愿,牛腩老师用的是vs版本和我用的vs版本不一样,我用的是vs2012,他用的是速成版,代码一运行就会报错,具体的错误如下!

    WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。


    于是自己在网上找了找此错误的解决方案,试了试,错误解决成功,但是自己很想知道产生错误的原因啊。

    二、错误原因:

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

    三、解决方案

    在Global.asax中对该属性进行注册,在根目录下添加全局应用程序类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"
}); 
   上面代码的意识是引用的是1.4.1版的jquery,当然,解决错误的方法还有很多,我只是介绍了一种,如果大件还想用其他的方法,可以去网上查找。我给大家几个链接。

    1、http://www.shaoqun.com/a/56680.aspx 

    2、http://www.cnblogs.com/fancybit/articles/3616311.html

    三、小结

    在学习过程中,我们总会遇到问题,到了现在的学习程度,我特别想锻炼自己刨根问底的能力,就是在学习过程中我们尽量把知识往它的祖坟上刨,包括我们遇到的问题,我们一定要找到问题的根源,当这样解决问题了之后,自己的心中便有了一种拨开云雾重见天日的感觉,这个感觉,爽!!!!!

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值