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. }   
  67. } 

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

【编辑推荐】

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

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...