如何将验证错误从子控件冒泡到父控件

本文关键字:控件 验证 错误 | 更新日期: 2023-09-27 18:12:06

我的asp.net网页有一个用户控件(Control1.ascx(和一个保存按钮。Control1包含另一个用户控件Control2.ascx,它包含几个自定义验证器。

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
 if (somecheck1)
     args.IsValid = false;
 else
     args.IsValid = true;
}
protected void CustomValidator2_ServerValidate(object source, ServerValidateEventArgs args)
{
 if (somecheck2)
     args.IsValid = false;
 else
     args.IsValid = true;
}

我不想要Control1。如果Control2上的任何验证器失败,请保存代码以执行。如何才能做到这一点?我正在考虑在Control2上添加一个Valid属性,并在Save按钮代码中进行检查。这种做法合理吗?此外,在Valid属性中应该做什么?

编辑:谢谢你的回复,但我没能解决这个问题。我在处理来自子控件的验证错误上发布了一个不同的问题和更具体的代码示例

如何将验证错误从子控件冒泡到父控件

执行一个page.validate("customValidator1");,其中customerValidator1是您的验证组。然后激发Page.IsValid();如果第一个组验证失败,则Page.IsValid((将返回false。在你的逻辑中实现这一点。