2010-03-03 50 views
1

通过在ValidationSummary控件上设置ShowMessageBox =“True”属性,可将所有ASP.Net客户端验证消息显示为警报。如何使ASP.Net自定义验证程序产生警报

这适用于客户端发生的任何事情。

对于验证服务器端的自定义验证器,我使用假设会发生什么,当页面返回给浏览器时,ASP.Net会注入一些javascript以显示警告框。然而,事实并非如此。

如果你依靠消息框来显示细节,并且只在错误字段旁边有一个*(根据我的客户端请求),那么它不会按预期工作。

有没有人有这样做的解决方案?我想要的是一种可能覆盖ValidationSummary控件的方法,将JavaScript注入页面或类似的东西。

在此先感谢。

+0

您应该可以创建自己的验证摘要实现并覆盖呈现方法。您还可以将客户端验证功能添加到您的自定义验证器(如果可以在客户端进行验证)。自定义验证程序与框架中的任何其他验证程序没有区别,都有一个客户端和一个服务器端验证方法。您只需自行为自定义验证器编写它们即可。 – 2010-03-03 16:52:13

回答

3

您可以使用Page.RegisterStartupScript在服务器端验证后显示警报。

+1

与重写ValidationSummary控件并查找所有控件的组合!IsValid,此方法很好地工作。我使用ScriptManager.Register ....因为我的页面位于更新面板中。 – Remotec 2010-03-04 12:33:31