在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.
}
它不起作用。什么是实现这个功能的正确方法?
任何帮助,谢谢。
答案 0 :(得分:0)
通过说它不起作用,你的意思是它会导致某种错误出现或者无法正确验证?
请记住,如果您希望这些控件在下次回发后仍然可见,则必须重新创建它们。我想如果没有额外的代码重新创建控件,它将无法正常工作。您应该在某处保存多少个框(即隐藏字段)并在Page_Init
或Page_Load
中重新创建它们。控件的ID
也必须是唯一的,不应在回发之间更改。
您可以在此处获取有关此内容的更多信息:http://msdn.microsoft.com/en-us/library/kyt0fzt1.aspx。