asp.net - 在 ASP.NET 中订阅事件的最佳方式是什么?

标签 asp.net events event-handling

我已经做了一些reading on SO ,但没有找到我的问题的答案。

正如@Canavar 指出的in his answer有 2 种方式订阅事件:

声明式:

<asp:Button runat="server" ID="myButton" OnClick="myButton_Click" />  

背后代码:

myButton.Click += new EventHandler(myButton_Click);

我以声明方式订阅事件,但很少在默认事件处理程序中使用“sender”和 EventArgs。大多数时候我最终都会从事件处理程序中调用一个方法。

使用委托(delegate)订阅事件会更好吗?

myButton.Click += delegate{DoStuff();};

让我知道我是否使事情变得过于复杂,并且应该坚持声明式事件订阅,并从默认事件处理程序调用我的 DoStuff() 方法。

最佳答案

您的处理程序需要匹配事件的指定参数。如果您使用委托(delegate),您将只是定义相同的东西。丢弃参数似乎是一种浪费,因为您将来可能因某种原因需要它们。我想不出任何不需要参数的充分理由。

事件处理程序已经是委托(delegate)了:)

关于asp.net - 在 ASP.NET 中订阅事件的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1480205/

相关文章:

C# - 覆盖 WebBrowserDocumentCompletedEventHandler 的事件参数

reactjs - 将扩展面板功能组件转换为类组件

c# - 如何限制用户登录?

c# - 构建完整的 Web 服务、网站和 iPhone 应用程序

javascript - js : removeEventListener for function(){}

javascript - 使用 JavaScript 将 onrightclick 属性添加到 Canvas

javascript - 如何获取js文件中的属性值?

c# - 如何左右对齐控件?

C#:触发事件时的不同语法形式

c# - 事件的 SynchronizingObject