我有一个带有 2 个用户控件 (.ascx) 的 ASP.NET 2.0 网页。每个 UserControl 都包含一堆验证器。在页面上放置 ValidationSummary 将显示两个 UserControl 的所有验证错误。在每个 UserControl 中放置一个 ValidationSummary 将显示两个控件的所有错误两次。
我想要的是每个 UserControl 的 ValidationSummary,只显示该 UserControl 上的错误。
我试图通过在每个用户控件上动态设置验证器的 ValidationGroup 属性来解决这个问题。这样每个验证摘要应该只显示其用户控件的错误。我用过这段代码:
foreach (Control ctrl in this.Controls)
{
if (ctrl is BaseValidator)
{
(ctrl as BaseValidator).ValidationGroup = this.ClientID;
}
}
ValidationSummary1.ValidationGroup = this.ClientID;
然而,这似乎禁用了客户端和服务器端验证,因为提交表单时不会发生验证。
帮助?