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

       坦白说自定义事件在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");

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



上一篇:override(C# 参考)

下一篇:ASP缓存类(ASP缓存技术总结)

留下脚印压缩包密码:sosuo8
名字:
全部评论:
评论我是菜鸟2010-7-17 16:24:00
很好,楼主,有VB.net的代码吗?
答复
申明:本站部分文章来自网络,由于各种原因对文章的来源无从考究,如果您是“ 在asp.net中使用自定义事件(带参数) ”的原作者,若侵犯您的版权,请与我联系!在此请您原谅我的幼稚和无知!联系方法:email:ahuinan@21cn.com  QQ:106494262

感谢以下网友对网站提出的建议:
1、感谢“蓝树叶kiss”网友发现一个评论漏洞。(2009-2-28)
2、感谢“陈臣”对程序优化和seo方面的建议。(2009-3-18)
文章档案
网友投票(您觉得这篇文章怎样?)
loadding...请稍侯......