asp.net - 如何动态添加带有验证的控件

标签 asp.net validation

在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_InitPage_Load 中重新创建它们。控件的 ID 也必须是唯一的,并且在回发之间不应更改。

您可以在这里获取更多相关信息:http://msdn.microsoft.com/en-us/library/kyt0fzt1.aspx .

关于asp.net - 如何动态添加带有验证的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9547678/

相关文章:

asp.net - 基于 Web 的 .resx 文件编辑器?

asp.net - 在asp.net中如何引用自定义基页面类中的页面控件

android - Jquery Mobile Framework 对 Web 开发人员有帮助吗

wpf - Validation.HasError 在已经为真时如果出现新错误则不会再次触发

c# - ASP.NET MVC。如何禁用基于参数的必需验证?

javascript - 日期验证 - 如何解决 Javascript 的自动更正日期问题?

asp.net - IIS Express 未在 Visual Studio 2019 中运行

c# - 在 ASP.NET Web API 2 中禁用 *所有* 异常处理(为我自己腾出空间)?

javascript - AngularJs Radiobox 组验证

asp.net - "Potentially Dangerous Request.Form"通用处理程序中的异常