zoukankan      html  css  js  c++  java
  • ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇

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

                   


     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.声明一个委托。


    1 using System;
    2 using System.Collections.Generic;
    3 using System.Text;

    5 namespace CreditCardForm
    6 {
    7     public delegate void ValidateCreditCardFormEventHandler(object sender,ValidateCreditCardFormEventArgs args);
    8 }

              

              3.定义事件

         


    1  public event ValidateCreditCardFormEventHandler ValidateCreditCardForm;

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


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

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

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

  • 相关阅读:
    六、mysql字段类型选择
    五、mysql存储引擎
    四、mysql内置函数
    三、mysql运算符
    二、mysql数据类型
    一、mysql使用入门
    拉链法解决Hash节点冲突问题
    CSS3样式
    CSS样式表
    HTML的表格、表单和框架
  • 原文地址:https://www.cnblogs.com/Jeely/p/11157019.html
Copyright © 2011-2022 走看看