ASP.NET 用戶控件的創(chuàng)建與使用----在這篇中講了用戶控件的創(chuàng)建與使用。
下面說下怎么創(chuàng)建帶事件的用戶控件:
標(biāo)準(zhǔn)的WEB空間有事件,來進(jìn)行交互,同樣用戶控件也有。
要?jiǎng)?chuàng)建一個(gè)帶事件的用戶控件很簡單,只需要三步:
1.定義個(gè)公開的(public) 的事件委托,如ClickEventHandler
2.在用戶控件類中定義引發(fā)事件的方法,如OnClick方法
3.在引發(fā)事件的方法中判斷事件是否為空,如果不為空,就可以寫事件出來代碼了。
下面我們來一步一步實(shí)現(xiàn),
1.創(chuàng)建一個(gè)用戶控件文件--LinkClick.ascx.
2.從工具箱中拖入LinkButton控件。
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LinkClick.ascx.cs" Inherits="Sample9_2.UC.linkClick" %>
<asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">點(diǎn)擊我</asp:LinkButton>
3.在LinkClick.ascx.cs后置代碼中定義單擊事件的委托
public event EventHandler myClickEventHandler;
4.添加LinkButton控件的單擊事件代碼如下:
protected void LinkButton1_Click(object sender, EventArgs e)
{
if (myClickEventHandler != null) {
myClickEventHandler(this, EventArgs.Empty);
}
}
5.在Default.aspx,中拖入剛才的用戶控件
<uc1:LinkClick ID="LinkClick1" runat="server"/>
6.在工具箱中拖入Lable控件,我們將要做當(dāng)點(diǎn)擊用戶控件的LinkButton,讓Lable顯示內(nèi)容。
<asp:Label ID="Label1" runat="server"></asp:Label>
7.在用戶控件中添加用戶控件事件句柄,
<uc1:LinkClick ID="LinkClick1" runat="server" OnmyClickEventHandler="LinkClick1_OnClick"/>
8.打開文件,Default.aspx.cs ,在里面添加事件出來函數(shù)LinkClick1_OnClick的定義代碼。
代碼如下,(當(dāng)用戶單擊控件LinkClick,則引發(fā)該事件,在Lablel控件中顯示相應(yīng)文字)。
protected void LinkClick1_OnClick(object sender, EventArgs e)
{
this.Label1.Text = "單擊我";
}
這樣一個(gè)帶事件的用戶控件就好了。運(yùn)行試試。
更多信息請(qǐng)查看IT技術(shù)專欄