C# 动态文本框和标签的验证

C# 动态文本框和标签的验证,c#,asp.net,validation,dynamic,C#,Asp.net,Validation,Dynamic,好吧,我完全不知道该怎么做。我需要做的是验证一些文本框的正则表达式和所有文本框的必填字段。我对它进行了设置,这样当用户点击按钮时,每次都会显示一组新的输入字段,这样,如果他们有一个以上的工作经验,他们就可以无限地输入。我试过的代码不起作用。还可能需要注意的是,由于遇到这个问题,我到目前为止只做了一个地址。一旦我明白了这一点,剩下的我就可以做了 ASP.net代码只是一个按钮。 C#代码: protected void Page_Load(object sender, EventArgs e) {

好吧,我完全不知道该怎么做。我需要做的是验证一些文本框的正则表达式和所有文本框的必填字段。我对它进行了设置,这样当用户点击按钮时,每次都会显示一组新的输入字段,这样,如果他们有一个以上的工作经验,他们就可以无限地输入。我试过的代码不起作用。还可能需要注意的是,由于遇到这个问题,我到目前为止只做了一个地址。一旦我明白了这一点,剩下的我就可以做了

ASP.net代码只是一个按钮。

C#代码:

protected void Page_Load(object sender, EventArgs e)
{
    // Add any controls that have been previously added dynamically

    for (int i = 0; i < TotalNumberAdded; ++i)
    {
        addcontrolsemployment(i + 1);
    }




}


private void addcontrolsemployment(int controlNumber)
    {


        var newPanel = new Panel();

        var employerLabel = new Label();
        var addressLabel = new Label();
        var phoneLabel = new Label();
        var fromDateLabel = new Label();
        var toDateLabel = new Label();
        var supervisorLabel = new Label();
        var jobTitleLabel = new Label();
        var dutiesLabel = new Label();
        var hoursLabel = new Label();
        var wageLabel = new Label();
        var leavingLabel = new Label();

        var employerTextbox = new TextBox();
        var addressTextbox = new TextBox();
        var phoneTextbox = new TextBox();
        var fromDateTextbox = new TextBox();
        var toDateTextbox = new TextBox();
        var supervisorTextbox = new TextBox();
        var jobTitleTextbox = new TextBox();
        var dutiesTextbox = new TextBox();
        var hoursTextbox = new TextBox();
        var wageTextbox = new TextBox();
        var leavingTextbox = new TextBox();




        // textbox needs a unique id to maintain state information
        employerTextbox.ID = "EmployerTextBox_" + controlNumber;
        addressTextbox.ID = "AddressTextbox_" + controlNumber;
        phoneTextbox.ID = "phoneTextbox_" + controlNumber;
        fromDateTextbox.ID = "fromDateTextbox_" + controlNumber;
        toDateTextbox.ID = "toDateTextbox_" + controlNumber;
        supervisorTextbox.ID = "supervisorTextbox_" + controlNumber;
        jobTitleTextbox.ID = "jobTitleTexbox_" + controlNumber;
        dutiesTextbox.ID = "dutiesTextbox_" + controlNumber;
        dutiesTextbox.Width = 250;
        hoursTextbox.ID = "hoursTexbox_" + controlNumber;
        wageTextbox.ID = "wageTexbox_" + controlNumber;
        leavingTextbox.ID = "leavingTexbox_" + controlNumber;
        leavingTextbox.Width = 250;
        //Label text
        employerLabel.Text = "Employer: ";
        addressLabel.Text = "Address: ";
        phoneLabel.Text = "Phone #: ";
        toDateLabel.Text = "To Date: ";
        fromDateLabel.Text = "From Date: ";
        supervisorLabel.Text = "Supervisor: ";
        jobTitleLabel.Text = "Job Title: ";
        dutiesLabel.Text = "Major Duties: ";
        hoursLabel.Text = "Hours Per Week:";
        wageLabel.Text = "Final Wage: $";
        leavingLabel.Text = "Reason for Leaving: ";

        //Regular Expression and Required field validators
        var addressRegEx = new RegularExpressionValidator();
        var addressRequired = new RequiredFieldValidator();
        addressRequired.Text = "Address is Required";
        addressRequired.ErrorMessage = " Please Enter less than 50 characters for address";
        addressRequired.ID = "addressRequired" + controlNumber; addressRequired.ControlToValidate = addressTextbox.Text;
        addressRegEx.ValidationExpression = ".{0,50}"; 
        addressRegEx.ControlToValidate = addressTextbox.Text;



        // add the label and textbox to the panel, then add the panel to the form
        newPanel.Controls.Add(new LiteralControl("<table><tr>"));
        newPanel.Controls.Add(new LiteralControl("<br />"));
        newPanel.Controls.Add(new LiteralControl("<td class='title-text'  >"));
        newPanel.Controls.Add(employerLabel);
        newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'width='180px'>"));
        newPanel.Controls.Add(employerTextbox);
        newPanel.Controls.Add(new LiteralControl("</td></tr><tr><td class='title-text' >"));
        newPanel.Controls.Add(addressLabel);
        newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
        newPanel.Controls.Add(addressTextbox); newPanel.Controls.Add(addressRegEx); newPanel.Controls.Add(addressRequired);
        newPanel.Controls.Add(new LiteralControl("</td>"));

        newPanel.Controls.Add(new LiteralControl("<td class='title-text'>"));
        newPanel.Controls.Add(phoneLabel);
        newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
        newPanel.Controls.Add(phoneTextbox);
        newPanel.Controls.Add(new LiteralControl("</td></tr><tr><td class='title-text'>"));
        newPanel.Controls.Add(fromDateLabel);
        newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
        newPanel.Controls.Add(fromDateTextbox);
        newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
        newPanel.Controls.Add(toDateLabel);
        newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
        newPanel.Controls.Add(toDateTextbox);
        newPanel.Controls.Add(new LiteralControl("</td></tr><tr><td class='title-text'>"));
        newPanel.Controls.Add(supervisorLabel);
        newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
        newPanel.Controls.Add(supervisorTextbox);
        newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
        newPanel.Controls.Add(jobTitleLabel);
        newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
        newPanel.Controls.Add(jobTitleTextbox);
        newPanel.Controls.Add(new LiteralControl("</td></tr><tr><td class='title-text'>"));
        newPanel.Controls.Add(dutiesLabel);
        newPanel.Controls.Add(new LiteralControl("</td><td class='title-text' colspan='2'>"));
        newPanel.Controls.Add(dutiesTextbox);

        newPanel.Controls.Add(new LiteralControl("</td></tr><tr><td class='title-text'>"));
        newPanel.Controls.Add(hoursLabel);
        newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
        newPanel.Controls.Add(hoursTextbox);
        newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
        newPanel.Controls.Add(wageLabel);
        newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
        newPanel.Controls.Add(wageTextbox);
        newPanel.Controls.Add(new LiteralControl("</td></tr><tr><td class='title-text'>"));
        newPanel.Controls.Add(leavingLabel);
        newPanel.Controls.Add(new LiteralControl("</td><td class='title-text' colspan='2'>"));
        newPanel.Controls.Add(leavingTextbox);
        newPanel.Controls.Add(new LiteralControl("</td></tr></table>"));
        form1.Controls.Add(newPanel);

    }

    protected int TotalNumberAdded
    {
        get { return (int)(ViewState["TotalNumberAdded"] ?? 0); }
        set { ViewState["TotalNumberAdded"] = value; }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {


        // Increase the number added and add the new label and textbox
        TotalNumberAdded++;
        addcontrolsemployment(TotalNumberAdded);

    }
受保护的无效页面加载(对象发送方,事件参数e)
{
//添加以前动态添加的任何控件
对于(int i=0;i”);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(employerLabel);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(employerTextbox);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(addressLabel);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(addressTextbox);newPanel.Controls.Add(addressRegEx);newPanel.Controls.Add(addressRequired);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(电话标签);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(phoneTextbox);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(fromDateLabel);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(fromDateTextbox);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(toDateLabel);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(toDateTextbox);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(supervisorLabel);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(supervisorTextbox);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(作业标题标签);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(jobTitleTextbox);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(dutiesLabel);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(dutiesTextbox);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(小时标签);
newPanel.Controls.Add(newliteralcontrol(“”);
newPanel.Controls.Add(hoursTextbox);
newPanel.Controls.Add(新的LiteralControl(“”)