Q1:
“的ListControl.OnSelectedIndexChanged方法还允许派生类对事件进行处理而不必附加委托。这是在派生类中处理事件的首选技术“。
A)如果我理解了上面的报价,那么如果我们推导自ListControl类,我们应该的,而不是订阅SelectedIndexChanged事件,治疗OnSelectedIndexChanged()方法作为一个事件处理程序,并从而把它里面的任何事件处理逻辑:
protected override void OnSelectedIndexChanged(
EventArgs e
{
//event handling logic
}
为什么会是这样比通过OnSelectedIndexChanged =“name_of_event_handler”订阅的事件(内侧的.aspx)更好?
B) 不管怎么说,在ASCX文件中,我们使用OnSelectedIndexChanged属性,事件处理程序附加到事件。该属性的名称与OnSelectedIndexChanged()方法的名称相同。这是为什么?为什么不是代替这个属性的名称的SelectedIndexChanged:
<asp:ListControl SelectedIndexChanged = ”name_of_event_handler”
毕竟,属性指的是事件,而不是一个方法(OnSelectedIndexChanged())调用此事件!
感谢名单
编辑:
你好,
但是,要确保你打电话base.On [事件名称]或事件赢了' t火!
假设你不希望其他人能够响应这个事件,那么是否完全可以不调用base.On [EventName],因为我认为不会调用它不会真的除了不发射事件(因此事件处理程序不会被调用)之外还有什么伤害?
我意识到一些事件需要被解雇才能让Framework完成它的工作,但是如果不调用base.On [SelectedIndexChanged]呢?