C# 在验证器上设置ControlToValidate
我目前正在根据数据库信息重新编写一个动态表单 此表单包含许多“特定于项目”的属性,每个属性都有一个控件和标签,例如,Category有一个标签,上面写着“Category”,DropDownList包含所有选项 我现在发现的问题是,通过基于数据库中的一些信息(属性名称、选项和属性的tpye,如文本或下拉列表)编程创建,每个属性都被添加到页面中,并且每个属性都至少有一个验证器来确保输入的数据是正确的C# 在验证器上设置ControlToValidate,c#,asp.net,validation,C#,Asp.net,Validation,我目前正在根据数据库信息重新编写一个动态表单 此表单包含许多“特定于项目”的属性,每个属性都有一个控件和标签,例如,Category有一个标签,上面写着“Category”,DropDownList包含所有选项 我现在发现的问题是,通过基于数据库中的一些信息(属性名称、选项和属性的tpye,如文本或下拉列表)编程创建,每个属性都被添加到页面中,并且每个属性都至少有一个验证器来确保输入的数据是正确的 这提供了一个问题:当我将每个组件作为对象进行验证时,如何在验证器(也通过编程创建)上设置Contr
这提供了一个问题:当我将每个组件作为对象进行验证时,如何在验证器(也通过编程创建)上设置ControlToValidate,aspx上不是静态的吗?确保控件具有ID并相应地设置Validator.ControlToValidate属性。确保控件具有ID并相应地设置Validator.ControlToValidate属性。为动态控件提供ID,然后使用该ID设置ControlToValidate。大概是这样的:
ddl = new DropDownList();
ddl.Id = "ddlWithMyID";
val = new SomeTypeOfValidator();
val.ControlToValidate = "ddlWithMyID";
如果要处理来自动态创建控件的事件,请确保重新创建控件并为其提供相同的Id。这可以在Page_Init中完成,甚至可以在Page_Load中完成。为动态控件提供Id,然后使用该Id将ControlToValidate设置为。大概是这样的:
ddl = new DropDownList();
ddl.Id = "ddlWithMyID";
val = new SomeTypeOfValidator();
val.ControlToValidate = "ddlWithMyID";
如果要处理动态创建的控件中的事件,请确保重新创建它们并为它们提供相同的Id。这可以在Page_Init中完成,甚至可以在Page_Load中完成。很好,没有发现该属性!好极了,我没发现那房子!