2010-02-26 72 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」,並且所有字段都包含在驗證中妥當..