【浅谈ASP.NET】——WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping

      引言

   最近在学习ASP.NET里面一些常见控件的属性和用法,当然这些都是我这个小菜鸟才学习的东西,对于大牛级别的人物对这些控件应该是非常熟悉的,但是凡是对ASP.NET有过了解的童鞋们应该都非常了解里面的一些验证控件,因为这些集成的验证控件在我们编程的时候给我带来了非常多的好处,但是今天在学习验证非空控件(RequiredFieldValidator1)的时候遇到了一个错误如下:

【浅谈ASP.NET】——WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping_第1张图片

  错误分析

   VisualStudio 2012(或2013) WebForm 4.5 开发中,很多控件默认Enable了 Unobtrusive ValidationMode(所谓Unobtrusive Validation,就是一种隐式的验证方式)的属性(和jquery的引用相关),但并未对其进行赋值, Programmer必须手动对其进行设置。比如,在进行数据验证时使用的各种validator(今天使用的RequiredFieldValidator控件),以及进行authorization及authenication设置时,由于需要在前端调用jquery来进行身份验证,都默认Enable了 Unobtrusive ValidationMode。如果不对该属性进行配置,将会产生ERROR。
  其实有很多同学们说我在学习的过程中没有遇到过这个错误,怎么你遇到了呢?那还是因为我在新建WEB窗体的时候,创建的时候空白的web窗体,在其中没有加载和引用任何的东西。所以会产生错误。

  解决方案

 方案一:在配置文件中加入下面红色部分代码,即可完美解决问题。
<configuration>
    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
    </system.web>
  
  <span style="color:#ff0000;"><strong><appSettings>
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
  </appSettings></strong></span>
  
</configuration>

  方案二:
  找到相应的Jquery(aspnet.scriptmanager.jquery.dl)文件将其复制到bin文件夹下。
 在上面错误分析的时候说过错误的原因就是因为我在新建WEB窗体的时候创建的时候空白的窗体,所以我们可以通过新建一个非空的Web应用程序将里面的对应的Jquery文件粘贴到上文提到的文件夹下。
 
  方案三(不建议采用):
  降低.Framework版本,具体方法也是通过配置文件来完成:如下
<span style="font-family:KaiTi_GB2312;font-size:24px;"><configuration>
    <system.web>
      <compilation debug="true" targetFramework="4.5" /><strong><span style="color:#ff0000;">将"4.5"改为"4.0"</span></strong>
      <httpRuntime targetFramework="4.5" /> <span style="color:#ff0000;"><strong>删除</strong></span>
    </system.web>
</configuration></span>

通过上面的三种方法相信我们可以完美解决这个问题,如果大牛们还有别的更好的办法希望留言交流。

  小结

 从我们的学习过程来看,哪怕是一个小小的控件都会带给我们很多知识,所以在学习的道路上我们不能轻视任何一个细节的学习,不能抱着“差不多” 的心态,而是在错误面前勇于探索,勇于挑战。


你可能感兴趣的:(Web,asp.net)