萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> asp.net編程 >> ASP.NET 創建帶事件的用戶控件

ASP.NET 創建帶事件的用戶控件

  ASP.NET 用戶控件的創建與使用----在這篇中講了用戶控件的創建與使用。

  下面說下怎麼創建帶事件的用戶控件:

  標准的WEB空間有事件,來進行交互,同樣用戶控件也有。

  要創建一個帶事件的用戶控件很簡單,只需要三步:

  1.定義個公開的(public) 的事件委托,如ClickEventHandler

  2.在用戶控件類中定義引發事件的方法,如OnClick方法

  3.在引發事件的方法中判斷事件是否為空,如果不為空,就可以寫事件出來代碼了。

  下面我們來一步一步實現,

  1.創建一個用戶控件文件--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">點擊我</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控件,我們將要做當點擊用戶控件的LinkButton,讓Lable顯示內容。

  <asp:Label ID="Label1" runat="server"></asp:Label>

  7.在用戶控件中添加用戶控件事件句柄,

  <uc1:LinkClick ID="LinkClick1" runat="server" OnmyClickEventHandler="LinkClick1_OnClick"/>

  8.打開文件,Default.aspx.cs ,在裡面添加事件出來函數LinkClick1_OnClick的定義代碼。

  代碼如下,(當用戶單擊控件LinkClick,則引發該事件,在Lablel控件中顯示相應文字)。

  protected void LinkClick1_OnClick(object sender, EventArgs e)

  {

  this.Label1.Text = "單擊我";

  }

  這樣一個帶事件的用戶控件就好了。運行試試。

copyright © 萬盛學電腦網 all rights reserved