【问题标题】:Add control to existing custom validation将控件添加到现有的自定义验证
【发布时间】:2015-09-22 10:29:55
【问题描述】:

我有以下问题: 我的 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();

【问题讨论】:

    标签: asp.net validation


    【解决方案1】:

    如果你有母版页,你需要先访问父级,也就是占位符,然后你才能找到控件:

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

    【讨论】:

      猜你喜欢
      • 2011-06-15
      • 1970-01-01
      • 1970-01-01
      • 2022-07-14
      • 1970-01-01
      • 2017-10-10
      • 2014-12-03
      • 2020-01-07
      • 1970-01-01
      相关资源
      最近更新 更多