您当前的位置 :首页 > 软件资讯 > 正文
ASP.net组件编程中的两种事件编写方法
2021-02-23 15:01:53

以下是代码:using System;using System.Web.UI;using System.Web.UI.WebControls;using System.ComponentModel;

namespace NSEventStudy{public delegate void TwoEventHandle(int flag);

public class EventStudy : System.Web.UI.WebControls.WebControl{ ///////////////第一种定义事件的方法//////////////////// public event TwoEventHandle TwoEvent;

public void Execute(int flag) { TwoEvent(flag); }

////////////////第二种定义事件的方法//////////////////// private static object _Process = new object(); public event TwoEventHandle ThreeEvent { add { Events.AddHandler(_Process,value); } remove { Events.RemoveHandler(_Process,value); } }

public void InnerExecute(int flag) { TwoEventHandle handle = (TwoEventHandle)Events[_Process]; if(handle != null) { handle(flag); } else { this.RaiseBubbleEvent(this,null); } }

protected override void Render(HtmlTextWriter writer) { base.Render (writer); writer.WriteLine("我爱你,中国"); }

}}

测试程序:using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;

namespace TestEvent{///

/// WebForm1 的摘要说明。/// public class WebForm1 : System.Web.UI.Page{ protected System.Web.UI.WebControls.Button Button1; protected NSEventStudy.EventStudy EventStudy1; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 }

#region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } ///

/// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// private void InitializeComponent() { this.EventStudy1.ThreeEvent += new NSEventStudy.TwoEventHandle(this.EventStudy1_ThreeEvent); this.EventStudy1.TwoEvent += new NSEventStudy.TwoEventHandle(this.EventStudy1_TwoEvent); this.Button1.Click += new System.EventHandler(this.Button1_Click); this.Load += new System.EventHandler(this.Page_Load);

} #endregion

private void EventStudy1_TwoEvent(int flag) { this.Response.Write(""); }

private void EventStudy1_ThreeEvent(int flag) { this.Response.Write(""); }

private void Button1_Click(object sender, System.EventArgs e) { this.EventStudy1.Execute(6); this.EventStudy1.InnerExecute(10); }}}


魔域官网下载 https://ht.my.99.com/
相关新闻
联众百姓网