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

前言:

     今天把机房验收了,感觉心情挺放松的,一个阶段总算是告一段落了。今天在弄验证控件的时候出现了问题,这个问题看似很复杂,但是很解决起来却是很简单,但是我们不能停留在知其然的地步,所以又查了一些相关的资料,现在来做个总结。

     首先来看着图:

[置顶] WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptRes_第1张图片

    下面说下如何解决(都是自己尝试过得)

方法一:

   在配置文件的appSettings字节中添加

<span style="font-family:KaiTi_GB2312;"><span style="font-family:KaiTi_GB2312;font-size:18px;"> <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" /></span></span>

方法二:

在使用验证控件的当前页面后台page_load中加这样一句代码UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;



    从VS中我们可以看到上面的信息,而微软定义UnobtrusiveValidationMode:应用程序的客户端验证架构,我们如果以第二种解决了办法显然我们就屏蔽了ValidationSettings类库,从中也可以知道这个类库很有可能就是用jQuery语言写的,看来微软的大牛也用JQuery(完全是自己的猜想)。所以以后我更得好好学JQuery了。这样解决知识短暂的解决,治标不治本。如果想根治看第三种方法。

方法三:

    (1)在自己的根目录建立script文件夹
      
     (2)在根目录建立Global.asax文件,在protected void Application_Start(object sender,EventArgs e)下面添加如下语句:
  
ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition

                {

                    Path = "~/script/jquery-1.8.2.min.js",
                    DebugPath = "~/script/jquery.js",

                    CdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js",

                    CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery.js"

                });

     第一种和第二种方法虽然能短暂的解决这个问题,但如果本页面内有js代码,那么js代码是显示不出来的,因为已经把类库给屏蔽了,所以最为推荐第三种方法

     因为以前也弄过验证控件,但是没有出错,这次是因为建了一个空的ASP.NET页面,所以在加载过程中出现了错误。以后会注意类似的问题。



你可能感兴趣的:([置顶] WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptRes)