Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在验证器上设置ControlToValidate_C#_Asp.net_Validation - Fatal编程技术网

C# 在验证器上设置ControlToValidate

C# 在验证器上设置ControlToValidate,c#,asp.net,validation,C#,Asp.net,Validation,我目前正在根据数据库信息重新编写一个动态表单 此表单包含许多“特定于项目”的属性,每个属性都有一个控件和标签,例如,Category有一个标签,上面写着“Category”,DropDownList包含所有选项 我现在发现的问题是,通过基于数据库中的一些信息(属性名称、选项和属性的tpye,如文本或下拉列表)编程创建,每个属性都被添加到页面中,并且每个属性都至少有一个验证器来确保输入的数据是正确的 这提供了一个问题:当我将每个组件作为对象进行验证时,如何在验证器(也通过编程创建)上设置Contr

我目前正在根据数据库信息重新编写一个动态表单

此表单包含许多“特定于项目”的属性,每个属性都有一个控件和标签,例如,Category有一个标签,上面写着“Category”,DropDownList包含所有选项

我现在发现的问题是,通过基于数据库中的一些信息(属性名称、选项和属性的tpye,如文本或下拉列表)编程创建,每个属性都被添加到页面中,并且每个属性都至少有一个验证器来确保输入的数据是正确的


这提供了一个问题:当我将每个组件作为对象进行验证时,如何在验证器(也通过编程创建)上设置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中完成。

很好,没有发现该属性!好极了,我没发现那房子!