首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

.NET1.1和2.0里控件事件的访问修饰符有所不同,哪位高手能告诉小弟我详细的原理

2012-02-07 
.NET1.1和2.0里控件事件的访问修饰符有所不同,谁能告诉我详细的原理同为DropDownList控件在1.1下生成的事

.NET1.1和2.0里控件事件的访问修饰符有所不同,谁能告诉我详细的原理
同为DropDownList控件
在1.1下生成的事件是私有的
例如
  private   void   ddlZT_SelectedIndexChanged(object   sender,   System.EventArgs   e)

在2.0下生成的事件是保护型的

我知道private是私有的,protected是可由派生类访问.

但是我在2.0下如果把   事件改为私有,服务器控件的动作就不能触发该事件了

谁能告诉我在两种环境下的不同,越详细越好。



[解决办法]
你可以在2.0下
重写控件,这样方便调用
比1.1更灵活
[解决办法]
主要是为了扩展把,以及安全性考虑?
[解决办法]
对于codebehind代码类型,不论是1.1中的还是2.0中(partial修饰)的,都是页面实际类型的父类!

在asp.net1.1中,声明事件处理方法与注册事件委托的代码在同一个地方。在asp.net2.0中,在你的那种页面上,你仅仅声明它,而注册代码在子类中实现的。

实际上,你可以改为private后为类型增加一个实例化方法,其中手动注册你的方法。例如:

public _Default():base()
{
ddlZT.SelectedIndexChanged += new EventHandler(ddlZT_SelectedIndexChanged);
}


其实你可以为这一个SelectedIndexChanged 增加更多定义的方法,完全使用自己手动写代码注册。你可以自己主动增加好多功能处理,页面帮你注册一个你在页面html代码设计上声明的方法名,只是锦上添花帮你省一步。
[解决办法]
从 sp1234(如果你还停留在两年前的技术水平,怎么办?)
学习了~~~~

热点排行