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最新版本。 接口测试是…

2016_icpc_dalian_onsite

5971 Wrestling Match 把开始的边固定,然后分别枚举,dfs染色即可。 5972 Regular Number 5973 Game of Taking Stones 威佐夫博奕,用java写大数即可。 5974 A Simple Math Problem 可以把gcd(x,y)当成常…

心得 如何优雅地跨线程修改主线程窗口控件

编程环境要求:VS2008/FX2.0 众所周知,从VS2005/FX2.0起,在多线程环境下是不允许跨线程修改主线程上窗口控件的。 例如: privatevoidbutton1_Click(objectsender, EventArgs e) { Thread t newThread(newThreadStart(CrossThre…

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

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

关于弹框

confirm("提示字串") 为一个询问视窗,选确定传回true 否则传回false <a href"网页参数" onClick"return confirm(确认要删除吗?)"> 如果按确定就回车true ,onClick事件成立,就传送参数到删除网页进行删除 否则就没有任何动作 转载于:http…

poj 3710——Christmas Game

题意&#xff1a; 给定多个无向有环图&#xff0c;两个人在树上博弈&#xff0c;问博弈结果。 思路&#xff1a; 如果没有环&#xff0c;则是一个标准的树上博弈&#xff0c;那么满足 1. 叶子节点的sg为0 2. 中间节点的sg为所有儿子节点的sg1的异或和 存在环的话&#xf…

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

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

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

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

hdu 3094——A tree game

题意&#xff1a; 一颗树&#xff0c;然后两个操作&#xff0c;一是删除一条边&#xff0c;二是移除不与根相连的部分。 思路&#xff1a; 树上博弈的基础题目。 code&#xff1a; #include <bits/stdc.h> using namespace std;const int N1e55; std::vector<int…

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

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

hdu 3590——PP and QQ

题意&#xff1a; 有多颗树&#xff0c;然后树上删边游戏&#xff0c;最后一个删的人输。 思路&#xff1a; 其实就是树上删边游戏和anti-sg结合嘛。 对于树上删边&#xff1a; 1. 叶子节点的sg为0 2. 中间节点的sg为所有儿子节点的sg1的异或和 对于anti-sg&#xff1a;…

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

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

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

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

博弈论探讨及题目总结

转载自爱神博客:http://blog.csdn.net/acm_cxlove/article/details/7854526 首先当然要献上一些非常好的学习资料&#xff1a; 基础博弈的小结&#xff1a;http://blog.csdn.net/acm_cxlove/article/details/7854530 经典翻硬币游戏小结&#xff1a;http://blog.csdn.net/acm…

python36安装numpy_安装numpy

为了运行机器学习书上的实例&#xff0c;安装numpy.照着网上教程安装的&#xff0c;网上教程 1&#xff09;下载numpy包 自己的是python3.5, 64位操作系统&#xff0c;所以选择numpy-1.11.2mkl-cp35-cp35m-win-amd64.whl 2&#xff09;安装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…

hdu 5299——Circles Game

题意: 给定n个嵌套的圆&#xff0c;每次可以删除圆以及该圆包含的所有圆&#xff0c;不能删除者输。 思路&#xff1a; 把每个圆看成一个点&#xff0c;把圆的包含关系看成一条单向边&#xff0c;那么就化成了一棵树。 然后就是裸的树上删边游戏模型了。 对于树上删边游戏…

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

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

asp.net 时间显示格式

asp.net里获取当前时间,并输出需要格式2007年12月08日 星期六 23:13;asp.net里获取当前时间&#xff0c;并字符串格式化转换2007-12-03 00:051.string strTime DateTime.Now.ToLongTimeString(); --------------------------------------------------------------------------…