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.定义一个携带事件信息的类。

 

               

ContractedBlock.gifExpandedBlockStart.gifCode
 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;
10         public string PaymentMethod
11         {
12             get
13             {
14                 return this.paymentMethod;
15             }
16         }
17 
18 
19         private string creditCardNo;
20         public string CreditCardNo
21         {
22             get
23             {
24                 return this.creditCardNo;
25             }
26         }
27 
28 
29         private string cardholderName;
30         public string CardholderName
31         {
32             get
33             {
34                 return this.cardholderName;
35             }
36         }
37 
38         private DateTime expirationDate;
39         public DateTime ExpirationDate
40         {
41             get
42             {
43                 return this.expirationDate;
44             }
45         }
46 
47 
48         public ValidateCreditCardFormEventArgs(string paymentmenthod, string creditcardno,
49             string cardholdername, DateTime expirationdate)
50         {
51             this.paymentMethod = paymentmenthod;
52             this.creditCardNo = creditcardno;
53             this.cardholderName = cardholdername;
54             this.expirationDate = expirationdate;
55         }
56     }
57 }
58 

 

     

               2.声明一个委托。

 

 

ContractedBlock.gifExpandedBlockStart.gifCode
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 
5 namespace CreditCardForm
6 {
7     public delegate void ValidateCreditCardFormEventHandler(object sender,ValidateCreditCardFormEventArgs args);
8 }
9 

          

          3.定义事件

     

ContractedBlock.gifExpandedBlockStart.gifCode
1  public event ValidateCreditCardFormEventHandler ValidateCreditCardForm;

 

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

 

ContractedBlock.gifExpandedBlockStart.gifCode
1  
2 //这个方法是受保护的虚方法
3 protected void OnValidateCreditCardForm(ValidateCreditCardFormEventArgs args)
4         {
5              if (ValidateCreditCardForm != null)
6                 handler(this, args);
7         }

 

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

 

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

 

转载于:https://www.cnblogs.com/yanyangtian/archive/2008/08/11/1265466.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pioneer dvr-xd50 固件_闲的蛋疼的验证:索尼 SONY WH1000XM3固件版本差异

坊间一直流传,索尼WH-1000XM3的新固件版本降噪性能要比老的更差,即最早期的2.x.x版本的降噪性能要比目前的4.x.x更好。这也让不少WH-1000XM3的用户一直停留在2.x版本不升级,甚至动用比较麻烦的方法去对耳机做固件降级。出于闲的蛋疼的原因&am…

python接口测试_Python接口自动化测试(一)

本节开始,开始介绍python的接口自动化测试,首先需要搭建python开发环境,到https://www.python.org/下载python版本直接安装就以了,建议下载python2.7.11版本,当然,也是可以下载python最新版本。 接口测试是…

刷recovery工具apk_红米note4X刷lineage,不喜欢miui10广告臃肿的可以试一试

经常在miui和各个类原生安卓系统间换来换去,不过miui10现在是越来越垃圾了,广告、耗电、臃肿,我现在已经逐步抛弃miui了!小白可以看我的帖子做个参考,刷机其实是特别简单的是,只要一步步来,总会…

干涉测量技术的应用_技术分享 | 石化行业测量仪表应用在线答疑

众所周知,在化工和石化这类流程行业当中,稳定性和持续性是至关重要的生产“命脉”,对于生产过程中使用的测量仪表有着极其严格的要求。不仅所有测量仪表都必须满足严苛的国际标准,如PED和ATEX,压力、温度及液位等电子和…

WCF学习(五)数据契约之已知类型

准备技术: 1.C#基础知识 2.了解WCF基础知识 在正常的c#开发中我们是允许用子类去替换基类的,这也是所谓的替换原则。但是我们在WCF中确不能用数据契约的子类来替换父类的,因为这中间存在一个序列化的问题。举个例子: 我们有数据契…

win10必须禁用的服务_7寸屏的迷你电脑,就算是8GB运行内存,也必须关闭的系统选项...

现在的电脑,基本上都安装的是Win10系统了,7寸屏的迷你笔记本电脑GPD Pocket 2琥珀黑版也不例外,GPD Pocket 2采用的是赛扬双核3965y处理器,8G运行内存,处理办公应用可以说是游刃有余,但是Win10系统有一些选…

iTunes只能装C盘吗_电脑技巧分享:安装win10系统时系统盘C盘分区多大空间适合?...

我们在使用电脑时为了对电脑文件的方便管理,往往会对电脑进行分区,比如C,D,E,F盘等,其中C盘默认为系统盘,用于存储操作系统的重要文件,而C盘的分区大小也是许多朋友在安装操作系统时…

上海梵科信息科技有限公司

1. a5, b(a)(a)(a), printf("%d",b); 答案:19 2. 表students,有id, classid, name, score。 班级为4的所有学生? 答案:select * from students where classid4 每个班级的学生总数? 答案:select …

python36安装numpy_安装numpy

为了运行机器学习书上的实例,安装numpy.照着网上教程安装的,网上教程 1)下载numpy包 自己的是python3.5, 64位操作系统,所以选择numpy-1.11.2mkl-cp35-cp35m-win-amd64.whl 2)安装numpy 将下载的包拷贝到python安装目录…

WCF Testing Tool(转)

原文:http://jayce.clearviewtickets.info/wcftestingtool.html best video: wcf testing tool IIS7 Admin Pack Offers Built In Performance Analysis Reports Are you web developer building high traffic web site? Are you performance engineer that lives and breath…

python制作简单动画_如何使用python制作简单的动画?

Python真的是无穷的好用,涉及内容非常广泛,比如接下来给大家介绍的制作动画,就可以利用python实现,相信小伙伴们听到这些内容肯定是非常感兴趣的,至于怎么去实现?大家想不想了解呢?下面小编就给…

clickhouse语句_篇四|ClickHouse的可视化界面与集群状态监控

介绍 tabix支持通过浏览器直接连接 ClickHouse,不需要安装其他软件,就可以访问ClickHouse,具有以下特点:⾼亮语法的编辑器。⾃动命令补全。查询命令执⾏的图形分析⼯具。配⾊⽅案选项。除此之外,还可以使用DBeaver连接…

apache为什么更适合处理动态请求_[适合初中级Java程序员修炼手册从0搭建整个Web项目](一)...

前言文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206种一棵树最好的时间是十年前,其次是现在six-finger-web一个Web后端框架的轮子从处理Http请求【基于Netty的请求级Web服务器】 到mvc【接口封装转发)】,再…

python如何自动缩进_Python缩进

缩进出现问题&#xff0c;运行不出来。 正确代码如下&#xff1a;1 defbinary_search(list, item):2 low 03 high len(list)-1 4 5 while low <high:6 mid (low high)7 guess list[mid]8 if guess item:9 returnmid10 if guess >item:11 high mid-1 12 else:13 low m…

差分约束系统详解

一直不知道差分约束是什么类型题目&#xff0c;最近在写最短路问题就顺带看了下&#xff0c;原来就是给出一些形如x-y<b不等式的约束&#xff0c;问你是否满足有解的问题 好神奇的是这类问题竟然可以转换成图论里的最短路径问题&#xff0c;下面开始详细介绍下 比如给出三…

1.1.1.1校园网_Apache Flink 1.11.0 重要功能全面解析

来源 | Apache Flink 官方博客翻译 | 高赟(云骞)Apache Flink 社区很荣幸的宣布 Flink 1.11.0 版本正式发布&#xff01;超过 200 名贡献者参与了 Flink 1.11.0 的开发&#xff0c;提交了超过 1300 个修复或优化。这些修改极大的提高了 Flink 的可用性&#xff0c;并且增强了各…

显示控制器注释_欧姆龙可编程控制器CS1D-CPU产品型号说明及功能介绍

欧姆龙可编程控制器CS1D-CPU用CPU单元 CPU单元(用于双CPU系统)欧姆龙可编程控制器CS1D-CPU用CPU单元 特点可以轻松引入、使用高可靠性系统成双配备CPU单元轻松易行CPU单元内的程序或内部数据在活动/备用CPU之间完全进行自动传送并进行同步。 无需选择要同步的数据或单独进行传送…

js取字符串后四位_JS逆向 | 某验滑块加密参数逆向分析

声明&#xff1a;本文只作学习研究&#xff0c;禁止用于非法用途&#xff0c;否则后果自负&#xff0c;如有侵权&#xff0c;请告知删除&#xff0c;谢谢&#xff01;aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vZGVtby9zbGlkZS1mbG9hdC5odG1s抓包分析&#xff0c;看到一个加密参数w&…

挖掘城市ip_德国卡尔斯草莓农庄:旅游IP打造要创意更要形象!

什么是IP?名人圈&#xff1a;杨超越游戏圈&#xff1a;王者荣耀影视界&#xff1a;延禧攻略出版界&#xff1a;Harry Potter相声界&#xff1a;郭德纲……别忙着争先恐后&#xff0c;知道你的IP数不胜数~~你知道的IP数不胜数&#xff0c;一个人、一部作品、一个品牌、一座城市…

rust种的南瓜为什么老是消失_冷天早餐别将就,用南瓜和萝卜这样做,鲜香松软,营养好吃又管饱...

导语&#xff1a;11月我家爱吃这菜&#xff0c;加根萝卜简单一卷&#xff0c;有颜有料&#xff0c;孩子经常点名吃。冷天早餐别将就&#xff0c;用南瓜和萝卜这样做&#xff0c;鲜香松软&#xff0c;营养好吃又管饱“南瓜再大本地卖&#xff0c;辣椒再小穿省过”记得悦悦小时候…