在aspx页面中有一个名为“添加另一个”的按钮,如果用户单击该按钮,将添加一个带有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.
}
它不起作用。实现这个功能的正确方法是什么?
任何帮助,谢谢。
最佳答案
说它不起作用,您的意思是它会导致出现某种错误或者无法正确验证?
请记住,如果您希望这些控件在下次回发后仍然可见,则必须重新创建它们。我想如果没有额外的代码重新创建控件,它就无法正常工作。您应该在某处(即隐藏字段中)保存一些框,并在 Page_Init
或 Page_Load
中重新创建它们。控件的 ID 也必须是唯一的,并且在回发之间不应更改。
您可以在这里获取更多相关信息:http://msdn.microsoft.com/en-us/library/kyt0fzt1.aspx .
关于asp.net - 如何动态添加带有验证的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9547678/