0

我有一个控件作为 .cs 文件,我在其中动态添加控件,并且此 cs 文件被添加到占位符中。第一次创建表时,某些行会被跳过,这些跳过的行会显示为下拉列表的选定索引更改事件。

现在,当我在 selectedindexchanged 事件上添加这些行时,该行被添加,但与之相关的必填字段甚至不会呈现到源上。只有第一次添加的必填字段验证器才会显示。

我需要验证在选定索引更改事件上创建的这些行吗?感谢和问候

这是代码:)

调用 AddInput 方法,其中 id 为文本框,并传递了一个验证器,该验证器被添加到此控件中。

protected void AddInput(string id, string text, System.Web.UI.WebControls.TextBox textbox, System.Web.UI.WebControls.BaseValidator validator)
{
    AddLiteral(@"<tr>");
    AddInputTDLedetekst();

    if (text != string.Empty)
    {
        System.Web.UI.WebControls.Label labNavn = new Label();
        labNavn.AssociatedControlID = id;
        labNavn.Text = text;
        labNavn.ID = id + "_newLabel";

        AddLiteral(labNavn);
        if (text != string.Empty && !text.Trim().Contains(":"))
            AddLiteral(":");
        if (validator != null && textbox.Enabled)
            if (validator is RequiredFieldValidator)
            {
                if (validator.ErrorMessage == string.Empty)
                    validator.ToolTip = HentOrd("Feltet skal udfyldes");
                AddLiteral(@"<span class=""mandatoryfield"">*</span>");
            }
    }
    AddLiteral(@"</td>");

    AddInputTDInput();
    if (textbox.CssClass == string.Empty)
        if (textbox.TextMode == TextBoxMode.MultiLine)
            textbox.CssClass = "textarea";
        else
            textbox.CssClass = "textinput";

    textbox.ID = id;
    AddLiteral(textbox);

    if (validator != null)
    {
        validator.ForeColor = System.Drawing.Color.Orange;
        validator.Style.Add("Font-Size", "8pt");
        validator.Style.Add("Font-Weight", "bold");

        if (string.IsNullOrEmpty(validator.ErrorMessage))
        {
            validator.ForeColor = System.Drawing.Color.Orange;
            validator.Style.Add("Font-Size", "8pt");
            validator.Style.Add("Font-Weight", "bold");
            validator.ErrorMessage = HentOrd("feltet skal udfyldes");
        }
        validator.Display = ValidatorDisplay.Static;
        validator.SetFocusOnError = true;
        if (string.IsNullOrEmpty(validator.ControlToValidate))
            validator.ControlToValidate = id;
        validator.CssClass = "ValidationError";
        validator.SetFocusOnError = true;
        validator.ID = "_rfv" + id;
        AddLiteral(validator);
    }
    AddLiteral(@"</td>");

    AddLiteral(@"</tr>");

}
4

0 回答 0