原文:ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇

第三章 为控件添加事件

好了,我们之前以前开发一个控件。而且也添加了属性,开发也很规范,但是那个控件还差最后一点:添加事件。

系列文章链接:

ASP.NET自定义控件组件开发 第一章 待续

ASP.NET自定义控件组件开发 第一章 第二篇 接着待续

ASP.NET自定义控件组件开发 第一章 第三篇

ASP.NET自定义控件组件开发 第二章 继承WebControl的自定义控件

ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇

ASP.NET自定义控件组件开发 第三章 为控件添加事件 后篇

ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl

ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl 后篇 --事件冒泡

ASP.NET自定义控件组件开发 第五章 模板控件开发

ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性

ASP.NET2.0组件控件开发视频 初体验

ASP.NET的开发都是事件驱动的,现在我们就来为控件添加事件。在说事件之前,希望大家对C#的语法要熟悉,对委托

很事件要懂。

其实定义事件的步骤很简单:

1.声明一个委托。

2.定义一个携带事件信息的类。

3.定义事件

4.定义一个通事件发生后,通知其他对象的方法

首先来理清一下我们的思路:

1.在下拉框中选中一个值,并且在输入框中也输入相应的值。

2.我们在页面点击“提交”按钮,按钮就触发我们自定义的一个事件Validate(验证输入信息的正确行)。

我们在提交的时候要把控件的信息传给服务器,所以我们要定义一个事件信息类,来携带事件发生时,把个信息类送

到服务器。

事件定义如下:

1.定义一个携带事件信息的类。

Code
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Text;
 4 
 5 namespace CreditCardForm
 6 {
 7     public class ValidateCreditCardFormEventArgs:EventArgs 
 8     {
 9         private string paymentMethod;
         public string PaymentMethod
         {
             get
             {
                 return this.paymentMethod;
             }
         }
 
 
         private string creditCardNo;
         public string CreditCardNo
         {
             get
             {
                 return this.creditCardNo;
             }
         }
 
 
         private string cardholderName;
         public string CardholderName
         {
             get
             {
                 return this.cardholderName;
             }
         }
 
         private DateTime expirationDate;
         public DateTime ExpirationDate
         {
             get
             {
                 return this.expirationDate;
             }
         }
 
 
         public ValidateCreditCardFormEventArgs(string paymentmenthod, string creditcardno,
             string cardholdername, DateTime expirationdate)
         {
             this.paymentMethod = paymentmenthod;
             this.creditCardNo = creditcardno;
             this.cardholderName = cardholdername;
             this.expirationDate = expirationdate;
         }
     }
 }
 

2.声明一个委托。

Code
 using System;
 using System.Collections.Generic;
 using System.Text;
 
 namespace CreditCardForm
 {
     public delegate void ValidateCreditCardFormEventHandler(object sender,ValidateCreditCardFormEventArgs args);
 }
 

3.定义事件

Code
  public event ValidateCreditCardFormEventHandler ValidateCreditCardForm;

4.通事件发生后,通知其他对象的方法

Code
  
 //这个方法是受保护的虚方法
 protected void OnValidateCreditCardForm(ValidateCreditCardFormEventArgs args)
         {
              if (ValidateCreditCardForm != null)
                 handler(this, args);
         }

这样几个步骤之后,控件的事件就写完了。大家试试! 有问题,我们下篇接着说!

今天写到这里,希望大家反馈信息,听听大家的想法!

ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇的更多相关文章

  1. ASP.NET自定义控件组件开发 第三章 为控件添加事件 后篇

    原文:ASP.NET自定义控件组件开发 第三章 为控件添加事件 后篇 第三章 为控件添加事件 后篇 前一篇文章只是简单的说了下事件,但是大家应该方法,在ASP.NET自定义控件中只是简单那么定义事件是 ...

  2. ASP.NET自定义控件组件开发 第五章 模板控件开发

    原文:ASP.NET自定义控件组件开发 第五章 模板控件开发 第五章 模板控件开发 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接 ...

  3. ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl

    原文:ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl 第四章 组合控件开发CompositeControl 大家好,今天我们来实现一个自定义的控件,之前我们已经 ...

  4. ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl 后篇 --事件冒泡

    原文:ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl 后篇 --事件冒泡 CompositeControl  后篇 --事件冒泡 系列文章链接: ASP.NET ...

  5. ASP.NET自定义控件组件开发 第一章 第三篇

    原文:ASP.NET自定义控件组件开发 第一章 第三篇 第三篇:第一章的完结篇 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待 ...

  6. ASP.NET自定义控件组件开发 第一章 第三篇 第一章的完结篇

    ASP.NET自定义控件组件开发 第一章 第三篇   第三篇:第一章的完结篇 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ...

  7. ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性

    原文:ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性 深入讲解控件的属性持久化(一) 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开 ...

  8. ASP.NET自定义控件组件开发 第二章 继承WebControl的自定义控件

    原文:ASP.NET自定义控件组件开发 第二章 继承WebControl的自定义控件 第二章 继承于WebControl的自定义控件 到现在为止,我已经写了三篇关于自定义控件开发的文章,很感谢大家的支 ...

  9. ASP.NET自定义控件组件开发 第一章 第二篇 接着待续

    原文:ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 很感谢大家给我的第一篇ASP.NET控件开发的支持!在写这些之前,我也看了 ...

随机推荐

  1. linux它SQL声明简明教程---WHERE

    我们并不一定必须注意,每次格里面的信息是完全陷入了.在很多情况下,我们需要有选择性地捕捞数据.对于我们的样本.我们可以只抓住一个营业额超过 $1,000 轮廓. 做这个事情,我们就须要用到 WHERE ...

  2. python手记(47)

    #!/usr/bin/env python # -*- coding: utf-8 -*- #http://blog.csdn.net/myhaspl #code:myhaspl@qq.com imp ...

  3. (转)ikvmc的使用

    IKVM.NET是一个针对Mono和微软.net框架的java实现,其设计目的是在.NET平台上运行java程序.本文将比较详细的介绍这个工具的原理.使用入门(如何java应用转换为.NET应用.), ...

  4. Django写的投票系统3(转)

    Django的管理面板默认是不开启的,所以我们需要进行一些设置工作1.在INSTALLED_APPS里面把 django.contrib.admin 前面的注释去掉2.运行 python manage ...

  5. A Game of Thrones(7) -Arya

    Arya’s stitches were crooked again. She frowned down at them with dismay and glanced over to where h ...

  6. cowboy rest

    REST Flowcharts 这章节将通过一些列不同的流程图来介绍REST处理状态机. 一个请求主要有四条路线,一个是方法OPTIONS. 一个是方法GET和HEAD.一个是PUT.POST和PAT ...

  7. 使用windows-SQLyog连接linux-mysql

          嘿嘿,最近又清闲了一点,重新安装了mysql去学习.   -----博客园-邦邦酱好 系统环境: 1. 主机为windows系统,安装了SQLyog. 2. 主机上还安装了虚拟机,系统为c ...

  8. Screwturn搭建企业内部wiki

    企业内部WIKI搭建 本文所使用的是Screwturn 基于asp.net webform和Sql server的. 仅仅要把本文资源下载下来,直接用IIS部署,然后更改web.config的conn ...

  9. 黄聪:Microsoft Enterprise Library 5.0 系列教程(五) Data Access Application Block

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(五) Data Access Application Block 企业库数据库访问模块通过抽象工厂模式,允许用户 ...

  10. 【NIO】dawn在buffer用法

    网络编程,buffer它用于数据传输到网络上的集线器应用程序,不用说,一个重要的线.提到buffer我不能说什么零拷贝,buffer什么内存管理,在dawn在,基于directbuffer再次能够实现 ...