【问题标题】:Adding and removing events in ASP.NET在 ASP.NET 中添加和删除事件
【发布时间】:2009-12-02 15:32:59
【问题描述】:

我最近在我维护的 ASP.NET 代码库中发现了这种技术。它有什么作用,我将如何使用它?也许更重要的是,考虑到 ASP.NET 正在使用模拟页面生命周期事件,这是否可行?

    public event EventHandler CancelEvent
    {
        add { cancelButton.Click += value; }
        remove { cancelButton.Click -= value; }
    }

Resharper 说该事件目前未使用,我以前从未见过这种技术。通常我会在 OnInit 上连接我的事件。例如。

    cancelButton.Click += HandleClick;

【问题讨论】:

    标签: c# asp.net event-handling


    【解决方案1】:

    它基本上只是委派事件处理 - 当有人订阅您的 CancelEvent 事件时,它只是将该事件处理程序添加到 cancelButtonClick 事件,同样用于删除。

    这意味着您的类型正在公开表示取消的事件,而不仅仅是公开按钮本身。当然,如果没有其他人想使用该事件,那么在这种情况下它是没有意义的 - 但这是一种有趣的技术。

    【讨论】:

    • 再次被 SkeetBot 击败...啊。
    • 抵抗是徒劳的...... SkeetBot 回答了所有问题
    【解决方案2】:

    这是为用户控件公开事件属性的方法。在 asp.net 标记中,您将使用类似于以下代码的内容:

    这主要用于扩展 Web 控件或创建复合控件,并且您希望在标记上而不是在代码中定义处理程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多