使用者控制項事件處理

2021-04-17 21:38:35 字數 1151 閱讀 6081

本文討論使用者控制項返回事件的方法。

假定使用者控制項(usercontrol.ascx)中包含按鈕控制項abutton,希望實現按abutton按鈕時,包含該使用者控制項的頁面可以接收到事件。為此,在使用者控制項和頁面的**中分別作了處理。

usercontrol.ascx.cs中的處理:

1. 定義public的事件委託,如clickeventhandler;

2. 在usercontrol類中宣告事件,如click;

3. 在usercontrol類中定義引發事件的方法,如onclick()方法;

4. 在usercontrol類的相關方法中呼叫引發事件的方法,如在button_click()中呼叫onclick()。

核心**示意如下:

public

delegate

void

clickeventhandler(

object

sender, eventargs e);

public

class

myusercontrol : system.web.ui.usercontrol

private

void

abutton_click(

object

sender, system.eventargs e)}

包含usercontrol的頁面cs檔案中的處理:

1. initializecomponent()中增加事件處理程式,採用findcontrol方法找到usercontrol;

2. 定義事件處理方法,在該方法中處理usercontrol的事件,如usercontrol_clicked()。

核心**示意如下:

private

void

initializecomponent()

private

void

usercontrol_clicked(

object

sender, system.eventargs e)

總結一下,其實就是將事件機制利用手工程式設計的方法加進去:加入一般控制項ide自動生成的**。順便說一下,c#的事件機制實現了obeserver pattern,除了ui還可以用於業務層,能有效地降低物件間的耦合度,像usercontrol那樣,根本無需知道包含它的頁面物件是誰!

GridView控制項 事件詳解

gridview控制項 事件詳解 rowcommand 在 gridview 控制項中單擊某個按鈕時發生。此事件通常用於在該控制項中單擊某個按鈕時執行某項任務。pageindexchanging 在單擊頁導航按鈕時發生,但在 gridview 控制項執行分頁操作之前。此事件通常用於取消分頁操作。pa...

GridView控制項 事件詳解

在單擊頁導航按鈕時發生,但在 gridview 控制項執行分頁操作之前。此事件通常用於取消分頁操作。pageindexchanged 在單擊頁導航按鈕時發生,但在 gridview 控制項執行分頁操作之後。此事件通常用於在使用者定位到該控制項中不同的頁之後需要執行某項任務時。selectedinde...

GridView控制項事件詳解

gridview 控制項的事件及其說明 01.init 控制項初始化時發生 02.load 控制項載入到 page 物件中時發生 03.prerender 載入物件之後 呈現之前發生 04.databinding gridview 控制項資料繫結之前發生 05.databound gridview ...