麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

ASP.NET中最簡單的自定義控件

2019-11-17 01:58:32
字體:
來源:轉載
供稿:網友

asp.net中最簡單的自定義控件

ASP.NET用戶控件一般適用于產生相對靜態的內容,所以沒有builtin的事件支持。本文討論用戶控件返回事件的方法。 假定用戶控件(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 { PRotected System.Web.UI.WebControls.Button AButton; public event ClickEventHandler Click; protected void OnClick(EventArgs e) { if (Click!=null) Click(this, e); } private void AButton_Click(object sender, System.EventArgs e) { this.OnClick(e); } } 包含UserControl的頁面cs文件中的處理: 1. InitializeComponent()中增加事件處理程序,采用FindControl方法找到UserControl; 2. 定義事件處理方法,在該方法中處理UserControl的事件,如UserControl_Clicked()。 核心代碼示意如下: private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); MyUserControl uc = this.FindControl("myUserControlID") as MyUserControl; uc.Click += new ClickEventHandler(this.UserControl_Clicked); } private void UserControl_Clicked(object sender, System.EventArgs e) { // UserControl_Clicked event hanlder } 總結一下,其實就是將事件機制利用手工編程的方法加進去:加入一般控件IDE自動生成的代碼。順便說一下,C#的事件機制實現了Obeserver pattern,除了UI還可以用于業務層,能有效地降低對象間的耦合度,像UserControl那樣,根本無需知道包含它的頁面對象是誰!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产视频在线免费观看 | 91成人久久 | 久久99精品久久久久久青青日本 | 免费国产自久久久久三四区久久 | asian附近女人裸体pics | 二区三区在线观看 | 欧美无极品| 亚洲一区成人在线 | 欧美国产成人在线 | 国产精品久久久久久久久久三级 | 国产午夜免费不卡精品理论片 | 久久精品九九 | 一起草av在线 | 国产午夜免费福利 | 欧美色视频免费 | 久久免费视频在线 | 国产精品久久久久久久娇妻 | 一区二区三区欧美日韩 | 一级毛片播放 | 精品国产91久久久久久久 | 亚洲综合视频网 | 午夜精品视频在线 | 黄色网址在线免费播放 | 性视频久久 | 日本黄色a视频 | 亚洲第一成人久久网站 | 日韩视频一区二区在线观看 | 成人污在线 | 亚洲午夜免费 | 欧美日韩免费一区 | 亚洲午夜免费电影 | 99国内精品| 黄色片快播 | 一级视频网站 | 久草视频手机在线观看 | 亚洲最大的成人网 | 午夜视频在线免费观看 | 毛片网站视频 | 高清在线观看av | 毛片午夜| 欧美精品一区二区性色 |