asp.net - 如何动态设置 ValidationGroup

标签 asp.net validation validationsummary

我有一个带有 2 个用户控件 (.ascx) 的 ASP.NET 2.0 网页。每个 UserControl 都包含一堆验证器。将 ValidationSummary 放置在页面上将显示两个 UserControl 的所有验证错误。在每个 UserControl 中放置 ValidationSummary 将显示两个控件的所有错误两次。

我想要的是每个用户控件的 ValidationSummary,仅显示该用户控件上的错误。

我尝试通过动态设置每个用户控件上验证器的 ValidationGroup 属性来解决此问题。这样每个验证摘要应该只显示其用户控件的错误。我使用过这段代码:

foreach (Control ctrl in this.Controls)
{
    if (ctrl is BaseValidator)
    {
        (ctrl as BaseValidator).ValidationGroup = this.ClientID;
    }
}
ValidationSummary1.ValidationGroup = this.ClientID;

但这似乎会禁用客户端和服务器端验证,因为提交表单时不会发生验证。

帮忙?

最佳答案

导致表单提交的控件(即 Button 控件)必须与任何 ValidationSummary 和 *Validator 控件属于同一验证组。

关于asp.net - 如何动态设置 ValidationGroup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/138514/

相关文章:

validation - 符号执行和模型检查

asp.net-mvc - 阻止 Html.ValidationSummary() 更改验证消息的顺序

c# - 在 ListView 中加载 Databind DropDownList

c# - 我收到编译器错误消息 : CS1061: when i click a report button

C# - 当方法参数验证失败时,我应该踢回异常吗?

java - 错误的输入被验证为错误,但表现得好像它是正确的

asp.net - 验证失败后如何防止页面跳转到顶部位置?

c# - 如何找出 ASP.NET MVC View 中的错误计数?

css - 具有静态宽度的 Bootstrap 表单内联 DropDownLists

asp.net - 为什么有这么多 ASP.NET 开发服务器实例?