相信很多人在写项目的时候会构建一个继承于System.Web.UI.Page的类,将很多的公用部分代码放入其中,如权限检测、出错处理(方便嘛web基础类(继承System.Web.UI.Page)的问题解决方案~)等,但是在构建这样一个类的时候有一个问题是需要特别注意web基础类(继承System.Web.UI.Page)的问题解决方案~,就是类的属性定义,我们来看下面这个属性

web基础类(继承System.Web.UI.Page)的问题解决方案~public Hashtable EffectSecurityChecker
web基础类(继承System.Web.UI.Page)的问题解决方案~


乍一看好像没什么问题,连出错处理都做好了,而且编译也可以成功通过。但其忽略了一点,这个基础页面类是一个界面类,什么问题?界面类被继承后其属性会被子类初始化,当我们的子类继承了这个类后它自己的web编辑界面就再也打不开了(郁闷吧~web基础类(继承System.Web.UI.Page)的问题解决方案~),所以这里如果要用到类似的功能可以这样修改

web基础类(继承System.Web.UI.Page)的问题解决方案~private Hashtable _EffectSecurityChecker = null;
web基础类(继承System.Web.UI.Page)的问题解决方案~
web基础类(继承System.Web.UI.Page)的问题解决方案~
public Hashtable GetEffectChecker()
web基础类(继承System.Web.UI.Page)的问题解决方案~


所有子类通过GetEffectChecker()方法来进行调用,因为方法不影响界面初始化,所以子类的web界面依然可以正常编辑web基础类(继承System.Web.UI.Page)的问题解决方案~

 

有一点需要强调一下,第一种做法不会影响程序的运行web基础类(继承System.Web.UI.Page)的问题解决方案~

相关文章: