前言:
今天把机房验收了,感觉心情挺放松的,一个阶段总算是告一段落了。今天在弄验证控件的时候出现了问题,这个问题看似很复杂,但是很解决起来却是很简单,但是我们不能停留在知其然的地步,所以又查了一些相关的资料,现在来做个总结。
首先来看着图:
下面说下如何解决(都是自己尝试过得)
方法一:
在配置文件的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页面,所以在加载过程中出现了错误。以后会注意类似的问题。