在asp.net中使用自定义事件(带参数)

原文:http://www.sosuo8.com/article/show.asp?id=1013 (建议看原文)


       坦白说自定义事件在asp.net中用到的机率确实很低,但低并不代表没有用到。尤其是在做自定义控件的时候,嘿嘿,自定义事件几乎就不可避免地要用到。

       记得以前在博客http://yeah888.blog.sohu.com/上写过一个关于自定义事件在asp.net中的使用的帖子。那个例子是不带参数,现在回过头来看看,确实不大爽。所以今天有空就把那个例子重做了一次。注意,我并不是强调自定义事件就一定要带参数才算是事件,我只是拿那个例子小题大做,目的就是为了说明自定义事件带参数的应用而已。

好了,废话少说,看代码:


// 1.首先定义一个参数类
public   partial   class  SayEventArgs : EventArgs
{
    
public  String Username;
    
public  String Websiteurl;
}

// 2.定义一个委托
public   delegate   void  SayEventHandler( object  sender,SayEventArgs e);

// 3.定义一个事件
public   event  SayEventHandler SayEvent;

// 4.引发事件
public   void  OnSayEvent(SayEventArgs e)
{
        
if  (SayEvent  !=   null )
        {
            SayEvent(
this , e);
        }
}

// 5.传参函数
public   void  Loginsite(String Username, String Websiteurl)
{
        SayEventArgs e 
=   new  SayEventArgs();
        e.Username 
=  Username;
        e.Websiteurl 
=  Websiteurl;
        Label1.Text 
=  e.Username  +   " <br> " ;
        Label1.Text 
+=   " 欢迎你来到<a href= "   +  e.Websiteurl  +   " >痞子菜雨夜听风小轩</a> " ;
        OnSayEvent(e);
}

// 6.所要委托的函数
public   void  Saysomething( object  sender, SayEventArgs e)
{
        Label2.Text 
=  e.Username + " 请注意:<br>在呢个博客<a href= "   +  e.Websiteurl  +   " >痞子菜雨夜听风小轩</a>度,唔系事必要你讲野,但系你所讲既野将来会作为呈堂证供,ok? " ;
}

// 7.建立委托实例
SayEvent  +=   new  SayEventHandler(Saysomething);

 Loginsite(
" 痞子菜 " " u/admin/index.html " );

 

看到了吗?定义事件也就这几步,要复杂点的话就把函数写得复杂点就行了。就这样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值