【B/S】要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。”的解决办法。

前言

    最近在学习asp.net。通过学习《北大青鸟Asp.Net》,我算是对B/S开了一点窍。其实在自己按照老师的步骤做的时候出现了“要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。”的解决办法。”这个问题。第一次的时候自己还是没有在意,后来在做的时候发现又出现了,看来很有必要总结一下。

【B/S】要“jquery”ScriptResourceMapping。请添加一个名为 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。

二、解决办法

    通过我的测试和百度,总结了一下三种方法:

方法一

在程序允许的情况下,在配置文件中,降低.Framework的版本,具体方法如下:

      
  
    "true" targetFramework="4.5" />  
"4.5" />       
  

  
  
    "true" targetFramework="4.0" />  
 

方法二

更改Web.config配置文件设置Unobtrusive ValidationMode的类型,具体方法如下:

  
      
        "true" targetFramework="4.5" />  
    "4.5" />  
      

      
      
        "true" targetFramework="4.5" />  
    "4.5" />  
      

      
            "ValidationSettings:UnobtrusiveValidationMode" value="None" />  
     

方法三

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 = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.7.2.min.js",
CdnDebugPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.7.2.js"
}); 

三、很好的总结

问题就是要总结

在Asp.Net的学习过程中,还真是有很所琐碎的小问题,真是是不断的总结,问题总结多了就是收货。我会努力的!

你可能感兴趣的:(------【Asp.Net】)