【发布时间】:2010-04-26 15:29:44
【问题描述】:
我正在尝试使用 Visual Studio 中的 RegularExpressionValidator 控件来验证电子邮件地址表达式的文本框。
这是我的代码(非常基本)
Email:
<input id="Text1" type="text" /><br />
<br />
<input id="Validate" type="button" value="Validate" runat="server" /><br />
<br />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ErrorMessage="RegularExpressionValidator" ControlToValidate="Validate"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
现在,当我将 controlToValidate 设置为 Validate 时,我收到以下错误消息:
Server Error in '/' Application.
“RegularExpressionValidator1”的 ControlToValidate 属性引用的控件“Validate”无法验证。 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Web.HttpException:无法验证由“RegularExpressionValidator1”的 ControlToValidate 属性引用的控件“Validate”。
来源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
堆栈跟踪:
[HttpException (0x80004005): 无法验证由“RegularExpressionValidator1”的 ControlToValidate 属性引用的控件“Validate”。] System.Web.UI.WebControls.BaseValidator.CheckControlValidationProperty(字符串名称,字符串属性名称)+8734357 System.Web.UI.WebControls.BaseValidator.ControlPropertiesValid() +40 System.Web.UI.WebControls.BaseValidator.get_PropertiesValid() +21 System.Web.UI.WebControls.BaseValidator.OnPreRender(EventArgs e) +27 System.Web.UI.Control.PreRenderRecursiveInternal() +80 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +842
版本信息:Microsoft .NET Framework 版本:2.0.50727.3607; ASP.NET 版本:2.0.50727.3082
我之前尝试过相同的机制并且成功了;但是,这次我在一台新机器上运行 IIS v5.1 的 WinXP Pro。
任何方向都将不胜感激。
【问题讨论】: