sender是事件源 就是指發(fā)起這個(gè)事件的對(duì)象(控件) 又如:textboxchange,sender就是該textbox,在事件處理中就可以用sender代替textbox. EventArgs是事件參數(shù) 在日常開(kāi)發(fā)中,大多數(shù)控件都需要寫(xiě)觸發(fā)函數(shù),而觸發(fā)函數(shù)中的兩個(gè)參數(shù) sender 和 e 的作用,就不容小視。 看下面的例子: <asp:Button ID="Button1" runat="server" Text="Button1" OnClick="Button_OnClick" /> <asp:Button ID="Button2" runat="server" Text="Button2" OnClick="Button_OnClick" /> <asp:Button ID="Button3" runat="server" Text="Button3" OnClick="Button_OnClick" /> 在上面的程序中設(shè)計(jì)了三個(gè)Button控件,他們點(diǎn)擊后觸發(fā)的函數(shù)都為Button_OnClick;那么我如何分辨出到底是哪一個(gè)Button進(jìn)行了點(diǎn)擊呢,就要用到觸發(fā)函數(shù)中的參數(shù)來(lái)判斷。 protected void Button_OnClick(object sender, EventArgs e) 這時(shí),我將類(lèi)型為object的sender變量進(jìn)行轉(zhuǎn)型為Button后,就可以通過(guò)他的ID屬性來(lái)判斷。 另一個(gè)例子: <asp:ImageButton ID="ImageButton1" runat="server" OnClick="ImageButton_OnClick" /> 我設(shè)計(jì)了一個(gè)ImageButton控件,進(jìn)行點(diǎn)擊操作時(shí)觸發(fā)的函數(shù)為ImageButton_OnClick; protected void Button_OnClick(object sender, ImageClickEventArgs e) 這時(shí),我在圖片上任意地方點(diǎn)擊后,就會(huì)顯示出點(diǎn)擊時(shí)的X,Y坐標(biāo)。 但是,參數(shù)e經(jīng)常是與控件的CommandName與CommandArgument屬性綁定起來(lái)進(jìn)行傳參的。 他們所要觸發(fā)的相應(yīng)操作是OnCommand而不是OnClick操作。 例: <asp:Button ID="Button1" runat="server" Text="Button1" CommandName="Button1" OnCommand="Button_OnCommand"/> <asp:Button ID="Button2" runat="server" Text="Button2" CommandName="Button2" OnCommand="Button_OnCommand"/> <asp:Button ID="Button3" runat="server" Text="Button3" CommandName="Button3" OnCommand="Button_OnCommand" /> protected void Button_OnCommand(object sender, CommandEventArgs e) |
|
來(lái)自: flygege > 《我的圖書(shū)館》