如何通过构造函数实现动态的RegularExpressionValidator

本文关键字:RegularExpressionValidator 动态 实现 何通过 构造函数 | 更新日期: 2023-09-27 18:12:05

我正在构建一个自定义控件,它简单地继承了RegularExpressionValidator。在构造函数中,我需要能够看到控件的viewstate值是什么,以便在构造过程中使用该值来确定需要使用哪个验证表达式。

问题是构造函数在调用viewstate时没有访问权限。由于调用构造函数的时间,至少viewstate总是为空。

我已经尝试重写渲染方法,但由于某种原因,即使控件可以访问视图状态的基础。Validationexpression总是因为没有在构造函数中赋值而失败。

我所拥有的是一个查看视图状态的公共属性。

public NameType NameValidationType
        {
            get
            {
                return this.ViewState["NameType"] == null ? NameType.FirstName : (NameType)ViewState["NameType"];
            }
            set
            {
                this.ViewState["NameType"] = value;
            }
        }

该值在调用构造函数时始终为空。是否有某种方法可以延迟构造函数的执行,以便在构造之前从viewstate读取数据?

谢谢你的帮助。

如何通过构造函数实现动态的RegularExpressionValidator

我的解决方案是在OnPreRender事件中构建控件的validationexpression和其他属性。渲染太迟了,在OnPreRender之前的任何东西都没有访问viewstate。

相关文章:
  • 没有找到相关文章