如何使用验证动态添加控件

时间:2012-03-03 16:27:33

标签: asp.net validation

在aspx页面中有一个名为“add another”的按钮,如果用户单击该按钮,将添加一个带有RequiredFieldValidator的新文本框。

我尝试使用这样的代码:

protected void btn_Click(object sender, EventArgs e)
    {
        TextBox control = new TextBox();
        control.Text = "";
        control.ID = "txt2";
        divMy.Controls.Add(control);//divMy is the container of all the textbox

        RequiredFieldValidator rfv2 = new RequiredFieldValidator();
        rfv2.ID = "rfv2";
        rfv.ControlToValidate = control.ID;
        rfv.ErrorMessage = "bbb";
        divV.Controls.Add(rfv2);//divV is the container of all validations.           
    }

它不起作用。什么是实现这个功能的正确方法?

任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

通过说它不起作用,你的意思是它会导致某种错误出现或者无法正确验证?

请记住,如果您希望这些控件在下次回发后仍然可见,则必须重新创建它们。我想如果没有额外的代码重新创建控件,它将无法正常工作。您应该在某处保存多少个框(即隐藏字段)并在Page_InitPage_Load中重新创建它们。控件的ID也必须是唯一的,不应在回发之间更改。

您可以在此处获取有关此内容的更多信息:http://msdn.microsoft.com/en-us/library/kyt0fzt1.aspx