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]呢?