6

我正在用 ASP.net c# 开发一个项目。我希望RequiredFieldValidator 检查我的文本框。我正在添加验证器,它在 Visual Studio 2010 中工作得非常好。但是一旦我做了同样的事情,完全相同的事情,它在 Visual Studio 2012 中不起作用。我收到这个错误:

[InvalidOperationException: WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for 'jquery'. Please add a ScriptResourceMapping named jquery(case-sensitive).]
   System.Web.UI.ClientScriptManager.EnsureJqueryRegistered() +2171326
   System.Web.UI.WebControls.BaseValidator.RegisterUnobtrusiveScript() +10
   System.Web.UI.WebControls.BaseValidator.OnPreRender(EventArgs e) +9576177
   System.Web.UI.Control.PreRenderRecursiveInternal() +83
   System.Web.UI.Control.PreRenderRecursiveInternal() +168
   System.Web.UI.Control.PreRenderRecursiveInternal() +168
   System.Web.UI.Control.PreRenderRecursiveInternal() +168
   System.Web.UI.Control.PreRenderRecursiveInternal() +168
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +974

致以我的问候...

4

3 回答 3

16

这里

看起来您必须删除此行:

<appSettings>
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" />
</appSettings>

或者改成这样:

<appSettings>
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="None"/>
</appSettings>

这将为您禁用它。

或者,您可以将这样的内容添加到您的 Global.asax

ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition {
     Path = "~/scripts/jquery-1.4.1.min.js",
     DebugPath = "~/scripts/jquery-1.4.1.js",
     CdnPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.1.min.js",
     CdnDebugPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.1.js"
});

希望这能让你摆脱困境!

于 2013-04-15T00:57:47.983 回答
4
protected void Page_Load(object sender, EventArgs e)
{
    this.UnobtrusiveValidationMode =System.Web.UI.UnobtrusiveValidationMode.None;
}

只需复制并粘贴到 C# 代码中

于 2015-07-29T02:11:45.197 回答
-2
<appSettings>
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="None"/>
</appSettings>

永远不要使用 jquery 脚本,它每次都会转到服务器端,这会对您的应用程序性能产生不良影响,只需在 web 配置中添加标签(上面提到)

在配置标签内

于 2013-11-21T10:14:22.240 回答