以编程方式向验证器添加属性

时间:2011-03-31 16:00:05

标签: c# validation attributes

我正在构建一个函数,允许我将验证器添加到动态创建的表中。它们起作用,因为它们出现在页面上并且正常运行。但我试图通过代码隐藏添加“显示”属性,任何参数组合都会失败......

                RequiredFieldValidator newRQValid = new RequiredFieldValidator();
                newRQValid.SetFocusOnError = true;
                newRQValid.ControlToValidate = txtID;
                newRQValid.Display = "dynamic";  <<---  
                strID = "cv" + cellID;
                newRQValid.ID = strID;
                newRQValid.ErrorMessage = txtErrorMessage;
                newRQValid.InitialValue = initval;
                tCell.Controls.Add(newRQValid);

我尝试使用和不使用引号,但“动态”甚至没有出现在自动完成中,所以我假设我只是错误。

我也有类似的问题向比较验证器添加属性:

                CompareValidator newCMValid = new CompareValidator();
                newCMValid.SetFocusOnError = true;
                newCMValid.ControlToValidate = cellID;
                newCMValid.ControlToCompare = "txt_clm_dob";
                newCMValid.Type = ValidationDataType(DateTime);   <<==
                newRGValid.Display = Dynamic;    <<==
                strID = "cv" + cellID;
                newCMValid.ID = strID;
                newCMValid.ErrorMessage = txtErrorMessage;
                newCMValid.Operator = LessThanEqual;  <<==
                tCell.Controls.Add(newCMValid);

对每个人进行多次尝试。

那么这里的语法是正确的,还是在某种程度上不允许添加这些属性?

1 个答案:

答案 0 :(得分:1)

 newRQValid.Display = ValidatorDisplay.Dynamic;
 newCMValid.Type = ValidationDataType.Date;
 newCMValid.Operator = ValidationCompareOperator.LessThanEqual;