1

在成功测试部署到我们的暂存环境后,我们将旧版 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 运行时(尴尬)。

有任何想法吗?

4

3 回答 3

1

引用的aspnet_client文件夹是否相同,或者您在那里使用不同的版本?

于 2010-08-05T16:52:19.973 回答
0

您是否看到任何 javascript 错误。

用 Firebug 加载页面,看看是否有什么奇怪的事情发生。

您是否将验证器设置为使用特定的 CSS 类?你上传了CSS文件吗?它被正确引用了吗?

于 2010-08-05T16:44:44.717 回答
0

问题是网站树中完全缺少 aspnet_client 文件夹。我把这个文件夹从我们的开发环境复制到我们生产网站的根目录下,问题就解决了。谢谢杰伦。还要感谢 Jack Marchetti 的意见。

于 2010-08-05T17:59:43.593 回答