博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
web基础类(继承System.Web.UI.Page)的问题解决方案~
阅读量:5298 次
发布时间:2019-06-14

本文共 1072 字,大约阅读时间需要 3 分钟。

相信很多人在写项目的时候会构建一个继承于System.Web.UI.Page的类,将很多的公用部分代码放入其中,如权限检测、出错处理(方便嘛teeth_smile.gif)等,但是在构建这样一个类的时候有一个问题是需要特别注意71_71.gif,就是类的属性定义,我们来看下面这个属性<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

None.gif
public
 Hashtable EffectSecurityChecker
None.gif
ExpandedBlockStart.gifContractedBlock.gif                   
dot.gif
{
InBlock.gif
InBlock.gif                            
set
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif                            
dot.gif{
InBlock.gif
InBlock.gif                                     Application[“aa”] 
= value;
InBlock.gif
ExpandedSubBlockEnd.gif                            }
InBlock.gif
InBlock.gif                            
get
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif                            
dot.gif{
InBlock.gif
InBlock.gif                                     
if ( Application[“aa”] == null)
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif                                     
dot.gif{
InBlock.gif
InBlock.gif                                               Application[“aa”] 
= new Hashtable();
InBlock.gif
ExpandedSubBlockEnd.gif                                     }
InBlock.gif
InBlock.gif 
InBlock.gif
InBlock.gif                                     
try
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif                                     
dot.gif{
InBlock.gif
InBlock.gif                                               
return (Hashtable)Application[“aa”];
InBlock.gif
ExpandedSubBlockEnd.gif                                     }
InBlock.gif
InBlock.gif                                     
catch
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif                                     
dot.gif{
InBlock.gif
InBlock.gif                                               Application[“aa”] 
= new Hashtable();
InBlock.gif
InBlock.gif                                               
return (Hashtable)Application[“aa”];
InBlock.gif
ExpandedSubBlockEnd.gif                                     }
InBlock.gif
ExpandedSubBlockEnd.gif                            }
InBlock.gif
ExpandedBlockEnd.gif                   }
None.gif
None.gif 
None.gif

乍一看好像没什么问题,连出错处理都做好了,而且编译也可以成功通过。但其忽略了一点,这个基础页面类是一个界面类,什么问题?界面类被继承后其属性会被子类初始化,当我们的子类继承了这个类后它自己的

web
编辑界面就再也打不开了(郁闷吧
~confused_smile.gif
),所以这里如果要用到类似的功能可以这样修改

None.gif
private
 Hashtable _EffectSecurityChecker 
=
 
null
;
None.gif
None.gif
public
 Hashtable GetEffectChecker()
None.gif
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
{
InBlock.gif
InBlock.gif         
if ( Application[“aa”] == null)
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif                   
dot.gif{
InBlock.gif
InBlock.gif                            Application[“aa”] 
= new Hashtable();
InBlock.gif
ExpandedSubBlockEnd.gif                   }
InBlock.gif
InBlock.gif                   
try
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif                   
dot.gif{
InBlock.gif
InBlock.gif                            
return (Hashtable)Application[“aa”];
InBlock.gif
ExpandedSubBlockEnd.gif                   }
InBlock.gif
InBlock.gif                   
catch
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif                   
dot.gif{
InBlock.gif
InBlock.gif                            Application[“aa”] 
= new Hashtable();
InBlock.gif
InBlock.gif                            
return (Hashtable)Application[“aa”];
InBlock.gif
ExpandedSubBlockEnd.gif                   }
InBlock.gif
ExpandedBlockEnd.gif}
None.gif
None.gif

所有子类通过GetEffectChecker()方法来进行调用,因为方法不影响界面初始化,所以子类的web界面依然可以正常编辑thumbs_up.gif

 

有一点需要强调一下,第一种做法不会影响程序的运行regular_smile.gif

转载于:https://www.cnblogs.com/minbear/archive/2004/08/02/29343.html

你可能感兴趣的文章
16-算法训练 数字三角形
查看>>
JDK自带方法实现RSA数字签名
查看>>
tomcat 开启远程debug
查看>>
iOS项目的目录结构和开发流程
查看>>
python 第一章 常量+变量+注释+基础数据类型+用户交互+流程控制语句
查看>>
安装Ubuntu16.04卡在logo界面
查看>>
添加一个图片
查看>>
yaml 文件保存
查看>>
Django重定向你是如何实现的?用的什么状态码?
查看>>
卷积神经网络
查看>>
ssh服务介绍
查看>>
关于缓存、缓冲
查看>>
爬取校园网新闻首页的新闻
查看>>
DOM中的创建,插入,删除
查看>>
wordcount
查看>>
Bootstrap 警告框
查看>>
剑指Offer-链表中环的入口结点
查看>>
左侧菜单选中状态
查看>>
长期投资核算
查看>>
HDU4112
查看>>