以下是组件代码: namespace NSEventStudy public class EventStudy : System.Web.UI.WebControls.WebControl public void Execute(int flag) ////////////////第二种定义事件的方法//////////////////// public void InnerExecute(int flag) protected override void Render(HtmlTextWriter writer) } namespace TestEvent #region Web 窗体设计器生成的代码 } private void EventStudy1_TwoEvent(int flag) private void EventStudy1_ThreeEvent(int flag) private void Button1_Click(object sender, System.EventArgs e)
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
{
public delegate void TwoEventHandle(int flag);
{
///////////////第一种定义事件的方法////////////////////
public event TwoEventHandle TwoEvent;
{
TwoEvent(flag);
}
private static object _Process = new object();
public event TwoEventHandle ThreeEvent
{
add
{
Events.AddHandler(_Process,value);
}
remove
{
Events.RemoveHandler(_Process,value);
}
}
{
TwoEventHandle handle = (TwoEventHandle)Events[_Process];
if(handle != null)
{
handle(flag);
}
else
{
this.RaiseBubbleEvent(this,null);
}
}
{
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;
{
/// <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)
{
// 在此处放置用户代码以初始化页面
}
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
{
this.Response.Write(“<script>javascript:alert(TwoEvent事件触发)</script>”);
}
{
this.Response.Write(“<script>javascript:alert(ThreeEvent事件触发)</script>”);
}
{
this.EventStudy1.Execute(6);
this.EventStudy1.InnerExecute(10);
}
}
}
asp.net组件编程中的两种事件编写方法_asp.net技巧
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » asp.net组件编程中的两种事件编写方法_asp.net技巧
相关推荐
-      对.net framework 反射的反思_asp.net技巧
-      .net3.5和vs2008中的asp.net ajax_asp.net技巧
-      使用asp.net ajax框架扩展html map控件_asp.net技巧
-      asp.net应用程序资源访问安全模型_asp.net技巧
-      photoshop初学者轻松绘制螺旋漩涡特效_photoshop教程
-      photoshop通道结合图层模式抠狗尾巴草_photoshop教程
-      web.config详解+asp.net优化_asp.net技巧
-      asp.net中多彩下拉框的实现_asp.net技巧