ASP.NET组件编程之事件编写浅析
创始人
2024-04-27 07:11:36
0

ASP.NET组件编程之事件编写是如何的呢?那么我们首先来看看ASP.NET组件的应用:

ASP.NET组件编程之组件代码:

  1. using System;   
  2. using System.Web.UI;   
  3. using System.Web.UI.WebControls;   
  4. using System.ComponentModel;   
  5.  
  6. namespace NSEventStudy   
  7. {   
  8. public delegate void TwoEventHandle(int flag);   
  9.  
  10. public class EventStudy : System.Web.UI.WebControls.WebControl   
  11. {   
  12.  
  13. ///////////////ASP.NET组件编程***种定义事件的方法////////////////////   
  14.  
  15. public event TwoEventHandle TwoEvent;   
  16.  
  17. public void Execute(int flag)   
  18. {   
  19. TwoEvent(flag);   
  20. }   
  21.  
  22. ////////////////ASP.NET组件编程第二种定义事件的方法////////////////////   
  23.  
  24. private static object _Process = new object();   
  25. public event TwoEventHandle ThreeEvent   
  26. {   
  27. add   
  28. {   
  29. Events.AddHandler(_Process,value);   
  30. }   
  31. remove   
  32. {   
  33. Events.RemoveHandler(_Process,value);   
  34. }   
  35. }   
  36.  
  37. public void InnerExecute(int flag)   
  38. {   
  39. TwoEventHandle handle = (TwoEventHandle)Events[_Process];   
  40. if(handle != null)   
  41. {   
  42. handle(flag);   
  43. }   
  44. else   
  45. {   
  46. this.RaiseBubbleEvent(this,null);   
  47. }   
  48. }   
  49.  
  50. protected override void Render(HtmlTextWriter writer)   
  51. {   
  52. base.Render (writer);   
  53. writer.WriteLine("我爱你,中国");   
  54. }   
  55.  
  56. }   
  57. }  

ASP.NET组件编程之事件实现测试程序:

  1. using System;   
  2. using System.Collections;   
  3. using System.ComponentModel;   
  4. using System.Data;   
  5. using System.Drawing;   
  6. using System.Web;   
  7. using System.Web.SessionState;   
  8. using System.Web.UI;   
  9. using System.Web.UI.WebControls;   
  10. using System.Web.UI.HtmlControls;   
  11.  
  12. namespace TestEvent   
  13. {   
  14. /// ﹤summary﹥   
  15. /// WebForm1 的摘要说明。   
  16. /// ﹤/summary﹥   
  17. public class WebForm1 : System.Web.UI.Page   
  18. {   
  19. protected System.Web.UI.WebControls.Button Button1;   
  20. protected NSEventStudy.EventStudy EventStudy1;   
  21.  
  22. private void Page_Load(object sender, System.EventArgs e)   
  23. {   
  24. // 在此处放置用户代码以初始化页面   
  25. }   
  26.  
  27. #region Web 窗体设计器生成的代码   
  28. override protected void OnInit(EventArgs e)   
  29. {   
  30. //   
  31. // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。   
  32. //   
  33. InitializeComponent();   
  34. base.OnInit(e);   
  35. }   
  36.  
  37. /// ﹤summary﹥   
  38. /// 设计器支持所需的方法 - 不要使用代码编辑器修改   
  39. /// 此方法的内容。   
  40. /// ﹤/summary﹥   
  41. private void InitializeComponent()   
  42. {   
  43. this.EventStudy1.ThreeEvent += new NSEventStudy.TwoEventHandle(this.EventStudy1_ThreeEvent);   
  44. this.EventStudy1.TwoEvent += new NSEventStudy.TwoEventHandle(this.EventStudy1_TwoEvent);   
  45. this.Button1.Click += new System.EventHandler(this.Button1_Click);   
  46. this.Load += new System.EventHandler(this.Page_Load);   
  47.  
  48. }   
  49. #endregion   
  50.  
  51. private void EventStudy1_TwoEvent(int flag)   
  52. {   
  53. this.Response.Write("﹤script﹥javascript:alert('TwoEvent事件触发')﹤/script﹥");   
  54. }   
  55.  
  56. private void EventStudy1_ThreeEvent(int flag)   
  57. {   
  58. this.Response.Write("﹤script﹥javascript:alert('ThreeEvent事件触发')﹤/script﹥");   
  59. }   
  60.  
  61. private void Button1_Click(object sender, System.EventArgs e)   
  62. {   
  63. this.EventStudy1.Execute(6);   
  64. this.EventStudy1.InnerExecute(10);   
  65. }   
  66. }   

ASP.NET组件编程中事件的编写实现就向你介绍到这里,希望对你有所帮助。

【编辑推荐】

  1. ASP.NET服务器控件视图浅析
  2. ASP.NET组件设计之生命周期详解
  3. ASP.NET组件设计之传输机制浅析
  4. ASP.NET组件设计之复杂属性和状态管理浅析
  5. ASP.NET httpHandler使用浅析

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...