博客
关于我
强烈建议你试试无所不能的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

你可能感兴趣的文章
php仿阿里巴巴,php实现的仿阿里巴巴实现同类产品翻页
查看>>
matlab fis编辑器在哪,基本FIS编辑器
查看>>
linux的串口子系统,TTY子系统
查看>>
修改linux远程22端口,linux修改ssh远程端口22
查看>>
Linux系统的创始者,组图:Linux之父的办公室首度曝光
查看>>
关于linux的环境变量设置,linux环境变量设置
查看>>
socket模块,简单的套接字,加循环
查看>>
个人主页优化(2)
查看>>
Node 中异常收集与监控
查看>>
二丶Python字符串1
查看>>
七丶Python字典
查看>>
一丶Python简介
查看>>
Excel-信息函数&数组公式
查看>>
Excel-基本操作
查看>>
面对问题,如何去分析?(分析套路)
查看>>
Excel-逻辑函数
查看>>
面对问题,如何去分析?(日报问题)
查看>>
数据分析-业务知识
查看>>
BZOJ1208[HNOI2004]宠物收养场——treap
查看>>
nodejs vs python
查看>>