2015-09-22 15 views
0

我有以下問題: 我的ASP代碼是下一個:添加控制現有的自定義驗證

<span class="required">*</span> <%=LabelsFactory.Current.Get("FormLabels", "RequiredFields")%><asp:ValidationSummary ID="ValidationSummary1" runat="server" ValidationGroup="ValidationGroup1" CssClass="required" DisplayMode="BulletList" ForeColor="" /><asp:CustomValidator ID="cvGeneralError" runat="server" ValidationGroup="ValidationGroup1" Display="None" ErrorMessage='<%# LabelsFactory.Current.Get("FormLabels", "GeneralError") %>'></asp:CustomValidator><asp:Panel ID="pFormElements" runat="server"></asp:Panel><asp:Panel ID="pValidators" runat="server"></asp:Panel><fieldset><asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="ValidationGroup1" OnClick="Button1_Click" CssClass="button" /></fieldset> 

所以在後面的代碼我從一個CMS,並與該信息得到的信息,我創建控件並添加到頁面。 的問題是,我需要在頁面中包含一個控制到驗證,如果其他字段被填充。因此,一旦該按鈕被點擊,我想等領域充滿我找到控制(dropdawn控制)和我創建了一個requiredFieldValidatos但在最後一句的對象引用的代碼崩潰不設置到對象的實例。

Control myStateList = FindControl(formControl.ID + "_statelist");RequiredFieldValidator val = new RequiredFieldValidator();val.ID = "stateListValidator";val.ErrorMessage = "The field 'Select your state' is required";val.ControlToValidate = myStateList.ID;val.ValidationGroup = "ValidationGroup1";val.Validate(); 

回答

0

如果你有母版頁,您需要訪問在第一父,這是佔位符,那麼你就可以找到該控件:

ContentPlaceHolder cph =(ContentPlaceHolder)this.Master.FindControl("MainContent"); 
var control = (DropDownList)cph.FindControl("ddlList");