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;
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.聲明一個委托。
?
?
Code1?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.定義事件
?????
Code1??public?event?ValidateCreditCardFormEventHandler?ValidateCreditCardForm;
?
??????????4.通事件發生后,通知其他對象的方法
?
Code1??
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
總結
以上是生活随笔為你收集整理的ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 泰拉瑞亚生命体分析仪如何获得
- 下一篇: 治灰指甲多少钱啊?