C# 如何在页面内验证WebUser控件

C# 如何在页面内验证WebUser控件,c#,asp.net,C#,Asp.net,我的页面中有一个web用户控件。在web用户控件中,我有一个单选按钮列表和一个必需的字段验证器来检查是否单击了任何单选按钮。然而,在主页上我有一个按钮,当点击时,应该检查验证。我不知道怎么做 结构如下: Page -> usercontrol -> radiobuttonList | |-> button 单击按钮时,我希望web用户控件radiobuttonlist验证程序执行其验证并相应地设置Page.IsValid。您可以使用并指定OnServerValid

我的页面中有一个web用户控件。在web用户控件中,我有一个单选按钮列表和一个必需的字段验证器来检查是否单击了任何单选按钮。然而,在主页上我有一个按钮,当点击时,应该检查验证。我不知道怎么做

结构如下:

Page -> usercontrol -> radiobuttonList
  |
  |->  button 
单击按钮时,我希望web用户控件radiobuttonlist验证程序执行其验证并相应地设置Page.IsValid。

您可以使用并指定OnServerValidate方法

protected void cvRBLCheck_ServerValidate(object source, ServerValidateEventArgs args)
{
    args.IsValid = radiobutton.Checked;
}
在按钮上,确保CausesValidation设置为true


单击按钮时,OnServerValidate方法将启动,您可以在其中执行检查。

如果将所有控件和按钮上的
validationgroup
属性设置为相同的字符串,则验证程序是在单独的控件中还是在同一个web表单上都不重要

validationgroup=“MyFormToValidate”

以下是关于该物业的文件:


查看此线程,您不会“相应地设置Page.IsValid”。该属性是在
Page.Validate()
上隐式设置的。因此,我是否应该将我的usercontrol包装在CustomValidatorConttol周围,并在Page或control中添加此_ServerValidate方法…我想您可以将CustomValidator及其_ServerValidate方法放在控件中。就是这样。。。谢谢你的信息。。。不知道ValidationGroup也在控制范围内工作……是的,它在控制范围内工作。它指示控制验证的页面Javascript。仅仅因为将控件放在用户控件中,它们仍然呈现在同一页上。是由.net呈现的javascript在validationgroup查看页面。如果这使您的解决方案起作用,请标记为已回答;帮助未来用户:)