版权声明:CSDN是本Blog托管服务提供商。如本文牵涉版权问题,CSDN不承担相关责任,请版权拥有者直接与文章作者联系解决。以下是组件代码:
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
{
/// <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);
}
}
}
分享到:
相关推荐
8. **最佳实践**:提供编写高效、可维护的ASP.NET组件的建议和技巧,包括设计模式的应用和性能优化。 提供的压缩包文件名称列表似乎包含了一本书的章节资源,例如"OReilly.Programming.dot.NET.Components.2nd....
在《ASP.NET精彩编程百例》中,你可以看到如何在这些阶段中操作控件属性、处理事件,以及理解何时保存和恢复视图状态。 2. 控件事件处理:ASP.NET控件提供了丰富的事件,如按钮点击事件、文本框更改事件等。源代码...
本书"ASP.NET AJAX编程参考手册代码"涵盖了ASP.NET 3.5和2.0两个版本的程序代码,这对于开发者来说是一份宝贵的资源。通过这本书,你可以学习到如何在ASP.NET环境中集成AJAX功能,包括以下几个核心知识点: 1. **...
7. **Web Forms和ASP.NET Core**:对比ASP.NET Web Forms和ASP.NET Core两种不同的开发模型。 8. **AJAX支持**:讨论ASP.NET中的AJAX技术,如UpdatePanel和jQuery,以及如何实现无刷新更新。 9. **数据库访问**:...
9. **Web Forms和MVC模式**:ASP.NET提供了两种主要的开发模式:Web Forms和MVC。Web Forms基于控件模型,适合快速开发;MVC模式则分离了视图、模型和控制器,更适合大型项目和复杂的业务逻辑。 10. **部署和配置**...
首先,ASP.NET框架允许开发者使用多种编程语言,如C#、VB.NET或F#,来编写Web应用程序。通过.NET Framework,ASP.NET提供了诸如页面生命周期管理、状态管理、控件模型和内置的安全特性等关键功能。 在源码中,我们...
ASP.NET组件设计是Web开发中的核心概念,它允许开发者通过构建可重用的代码模块来创建功能丰富的Web应用程序。在ASP.NET中,组件通常被称为控件,这些控件可以是服务器端的,也可以是客户端的,或者是跨越服务器和...
2. **C#或VB.NET**: ASP.NET主要支持C#和VB.NET两种编程语言,它们都是.NET Framework的一部分。C#是现代、面向对象的语言,而VB.NET则更加直观,适合初学者。 3. **页面生命周期**: ASP.NET Web页面有一个清晰的...
5. **Web Forms和MVC**:ASP.NET 4.0支持两种主要的开发模式:Web Forms和MVC(Model-View-Controller)。Web Forms是传统的事件驱动模型,适合快速开发;MVC则提供了更灵活的架构,更适合复杂的应用程序和SEO优化。...
6. **页面生命周期和事件处理**:了解ASP.NET页面从加载到呈现的完整生命周期,以及在此过程中如何处理用户交互事件,是掌握ASP.NET编程的关键。 7. **MVC模式**:ASP.NET MVC(Model-View-Controller)框架提供了...
ASP.NET支持C#和VB.NET两种主要的编程语言。C#简洁且面向对象,而VB.NET则更加直观易读,两者都能提供高效的ASP.NET开发体验。 4. **Web Forms** Web Forms是ASP.NET的核心组件,它允许开发者通过拖放控件和编写...
在ASP.NET中,C#作为主要的编程语言,具有现代、类型安全和面向对象的特性,使得开发人员能够编写高效、易于维护的代码。书中的内容可能涵盖了以下几个关键知识点: 1. **ASP.NET架构**:解释ASP.NET的核心组件,如...
首先,我们要知道ASP.NET的核心组件包括:ASP.NET页面生命周期、控件事件模型、状态管理机制、以及请求处理管道。这些组件协同工作,使得开发者可以创建功能丰富的交互式Web应用。 1. **ASP.NET页面生命周期**:...
ASP.NET是微软公司推出的用于构建Web应用程序的框架,它基于.NET Framework,提供了强大的服务器端编程模型,用于创建交互式、动态的网站、Web应用程序和Web服务。本教程将深入探讨ASP.NET的核心概念和技术,帮助...
2. **C#和VB.NET作为编程语言**:ASP.NET支持两种主要的编程语言,即C#(C Sharp)和VB.NET(Visual Basic .NET)。学习这两种语言的基本语法和特性,是编写ASP.NET代码的基础。 3. **控件和事件模型**:ASP.NET...
- **缓冲技术**:第十一章重点介绍了ASP.NET中的两种缓冲技术——输出缓冲和数据缓冲,这些技术对于提高Web应用的性能非常关键。 #### 十、高级应用 - **XML应用**:第十二章探讨了如何在ASP.NET中使用XML技术,...
在本教程"ASP.NET实战编程(一)"中,我们将重点探讨如何使用Visual Studio .NET 2003进行ASP.NET开发的基础知识。 1. **Visual Studio .NET 2003**:这是微软的集成开发环境(IDE),用于编写.NET平台上的各种应用...
《ASP.NET精彩编程百例》源代码集合涵盖了ASP.NET技术和C#编程的多个重要知识点,是深入学习和实践这两种技术的宝贵资源。本书通过丰富的实例,帮助开发者掌握ASP.NET平台上的Web应用程序开发技能,同时也提供了C#...
ASP.NET支持两种主要的开发模式:Web Forms和MVC(Model-View-Controller)。Web Forms基于服务器端控件,而MVC强调解耦和可测试性。了解两者的优缺点有助于选择合适的开发策略。 5. **ASP.NET路由** 路由允许...