在成功测试部署到我们的暂存环境后,我们将旧版 ASP.NET 应用程序部署到生产环境。该应用程序在一个特定的注册页面上使用了RequiredFieldValidators。在我们的开发和阶段环境中,验证器在单击“提交”时成功检测到空字段,显示错误消息并阻止表单提交。
但是在生产环境中,验证器不会显示错误消息。单击提交将导致回发,代码隐藏检查 Page.IsValid 并正确检测表单缺少字段,但重新显示注册表单,没有错误消息(即“请输入电子邮件”)给用户。
示例:(注意我没有明确声明 EnableClientScript 或 SetFocusOnError)
<asp:requiredfieldvalidator id=Requiredfieldvalidator1 runat="server" CssClass="NormalRed" Display="Dynamic" ErrorMessage="Please enter an email." ControlToValidate="txtEmail"></asp:requiredfieldvalidator>
两种环境(阶段和生产)是相同的:Win2K3 Server 和 IIS 7、SQL Server 2008 和 ASP.NET 1.1 运行时(尴尬)。
有任何想法吗?