.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(如果你还停留在两年前的技术水平,怎么办?)
学习了~~~~