事件冒泡
我們上一篇已經開發一個登錄的組合控件,但是我們把控件的事件的這個問題沒有解決,現在我們就 來看看這個問題。
因為我們的組合控件Login是由一些已經存在的服務器控件的組合的,這樣就省卻了我們很多的麻煩, 上篇中我們已經把子控件的一些屬性,如Text等,顯示呈現為了組合控件的屬性。我們將之稱為“屬性的 冒泡”(我自己這樣認為的)。
我們現在來想下:其實我們點擊“提交”按鈕,我們就想把控件中信息發送給服務器,然後驗證。即 ,我們點擊的是“提交”按鈕,但是觸發的確實Login控件的驗證事件。也就是說,我們應該把子控件- button的事件,上升冒泡成為Login的事件。
現在我們就正式講講怎麼來事件冒泡。
對於事件的一些步驟,大家應該還記得:
1。定義一個數據類,用來當發生事件時,我們把一些信息攜帶。在本控件中,當我們點擊“提交”按 鈕時,我們就把用戶名和密碼作為數據送到服務器。所以我們的數據類包含兩個信息:如下:
1 public class ValidateEventArgs:EventArgs 2 { 3 private string userName; 4 private string userPassward; 5 6 public string UserName 7 { 8 get 9 { 10 return userName ; 11 } 12 } 13 14 public string UserPassward 15 { 16 get 17 { 18 return userPassward; 19 } 20 } 21 22 public ValidateEventArgs(string username, string userpassward) 23 { 24 this.userName = username; 25 this.userPassward = userpassward; 26 } 27 }
相信大家對上面的代碼不陌生!!!