我使用正则表达式验证器时遇到错误。
1)创建一个ASP.NET Empty应用程序(作为WebApplication) 2)在WebApplication中添加Web表单 3)添加以下行:
在<head></head>
4)创建一个文件夹“Script”,仍在WebApplication树中 5)在文件夹中添加jquery-1.8.2.js文件 6)在表单下方的div内添加两个文本框:
<asp:TextBox ID="A" name="A" type="text" size="50" MaxLength="100" runat="server" />
<asp:TextBox ID="B" name="B" type="text" size="50" MaxLength="100" runat="server" />
7)为每个文本框添加一个RegularExpressionValidator,代码如下:
<asp:TextBox ID="A" name="A" type="text" size="50" MaxLength="100" runat="server" />
<asp:RegularExpressionValidator
ValidationGroup="alpha" ID="ControlA"
runat="server" ErrorMessage="*" ControlToValidate="A"
ValidationExpression=".{10}">
</asp:RegularExpressionValidator>
<asp:TextBox ID="B" name="B" type="text" size="50" MaxLength="100" runat="server" />
<asp:RegularExpressionValidator
ValidationGroup="beta" ID="ControlB"
runat="server" ErrorMessage="*" ControlToValidate="B"
ValidationExpression=".{2}">
8)在文本框下方创建一个按钮:
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
9)在按钮方法“Button_click”中创建一个字符串以检查它是否有效: protected void Button1_Click(object sender,EventArgs e) { string text = A.Text +“”+ B.Text; }
10)运行程序。
11)任何错误如: 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.InvalidOperationException:WebForms UnobtrusiveValidationMode需要'jquery'的ScriptResourceMapping。请添加一个名为jquery的ScriptResourceMapping(区分大小写)。
我的VS版本是:12.0.30501.00 Update 2。 .NET Framework:4.5.51641 我尝试使用IE和Chrome,使用jquery-1.8.2.js和jquery-2.1.1.js Windows 8.1 Enterprise。
答案 0 :(得分:2)
在web.config
中删除此行:
<add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" />
或在web.config
上添加此行:
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
或在global.asax
:
ValidationSettings.UnobtrusiveValidationMode = System.Web.UI.UnobtrusiveValidationMode.None
答案 1 :(得分:0)
ASP.NET 4.5及更高版本具有不显眼的验证,可以控制客户端验证。
在你的web.config中
<add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" />
表示不引人注意的验证已启用并将使用jQuery ...您可以添加: 右键单击解决方案探索 - >管理NuGet。单击Browse并键入“aspnet.scriptmanager.jquery”
或将其关闭(使用HTML中的脚本元素通过JavaScript进行验证的旧方法)
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
启用它的好处是它减少了必须生成的JavaScript数量。