ASP.NET组件编程之事件编写是如何的呢?那么我们首先来看看ASP.NET组件的应用:
ASP.NET组件编程之组件代码:
- 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
- {
- ///////////////ASP.NET组件编程***种定义事件的方法////////////////////
- public event TwoEventHandle TwoEvent;
- public void Execute(int flag)
- {
- TwoEvent(flag);
- }
- ////////////////ASP.NET组件编程第二种定义事件的方法////////////////////
- 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("我爱你,中国");
- }
- }
- }
ASP.NET组件编程之事件实现测试程序:
- 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
- {
- /// ﹤summary﹥
- /// WebForm1 的摘要说明。
- /// ﹤/summary﹥
- 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);
- }
- /// ﹤summary﹥
- /// 设计器支持所需的方法 - 不要使用代码编辑器修改
- /// 此方法的内容。
- /// ﹤/summary﹥
- 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("﹤script﹥javascript:alert('TwoEvent事件触发')﹤/script﹥");
- }
- private void EventStudy1_ThreeEvent(int flag)
- {
- this.Response.Write("﹤script﹥javascript:alert('ThreeEvent事件触发')﹤/script﹥");
- }
- private void Button1_Click(object sender, System.EventArgs e)
- {
- this.EventStudy1.Execute(6);
- this.EventStudy1.InnerExecute(10);
- }
- }
- }
ASP.NET组件编程中事件的编写实现就向你介绍到这里,希望对你有所帮助。
【编辑推荐】