2010-02-26 55 views
1

我有一个用户控件,其中包含两个文本字段,每个用requiredfield验证器分配此控件包含另一个用户控件包含说一个按钮。单击此按钮我需要验证来自父控制文本字段的字段。家长用户控制验证从子用户控制ASP.Net

我尝试Page.IsValid Page.Validate(“ValidationGroup”)它验证,但没有显示错误消息。只有当我尝试从包含所需字段验证程序的包含验证它时才显示错误消息?

回答

1

刚才我遇到了同样的问题。

我解决了这个问题,在我的usercontrol引用下面添加一个customvalidator,并通过暴露需要验证的属性来验证父控件的usercontrol。无论如何,我正在揭露这些属性,所以在那里没什么大不了的。

<div> 
    <uc:MyChildUserControl ID="MyChildUserControl1" runat="server"></uc:MyChildUserControl > 
    <asp:CustomValidator ID="MyChildUserControlCustomValidator" runat="server" ValidationGroup="default_validation" ErrorMessage="errormessage to show when the sh*t hit the fan" Text="*"></asp:CustomValidator> 
</div> 

然后是的ServerValidate代码:

protected void MyChildUserControlCustomValidator_ServerValidate(object source, ServerValidateEventArgs args) 
{ 
    args.IsValid = MyChildUserControl1.SomeProperty; 
} 
0

,你有ValidationGroup属性上所有的按键设置和TextBox的参与到同一个验证组的名字吗?我已经在一些相当深入的用户控件和自定义控件项目中使用验证组,并且只要在单击的按钮上设置ValidationGroup =“CommonName”,并且所有字段都包含在验证中妥当..