2015-09-22 17 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");