在自定義用戶控件中,我們經常要添加自定義的事件,這時就要使用到委托(delegate)了。
在做開發中,經常都要用到登錄。那麼,我們就把登錄的界面做成一個控件,以後再使用它就方便多了。
登錄界面很簡單,隨便做做的,它有一個“登錄”的按鈕。我們需要當點擊“登錄”按鈕時,它能執行我們在其它頁面定義的登錄操作,這時就需要用到委托了,把登錄操作委托給“登錄”按鈕來執行。下面是用戶控件的後台代碼:
Code
public partial class WebUserControl : System.Web.UI.UserControl
{
public event EventHandler LoginClick;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
LoginClick(sender, e);
}
}
事件使用關鍵字event修飾,它的類型是委托類的。在APS.Net的頁面上,我們就可以為事件添加方法了:
Code
< uc1:WebUserControl ID="WebUserControl1" runat="server" OnLoginClick="Login_Click" /></div>
Code
protected void Login_Click(object sender, EventArgs e)
{
Response.Write("<script>alert('Logined')</script>");
}
運行結果如圖: