如何从源视图(aspx)中的C#按钮添加事件处理程序

时间:2009-12-20 16:50:09

标签: c# asp.net

创建代码隐藏(webforms)事件处理程序的最简单方法是从HTML源视图中说出一个按钮?

在VB.NET中,很容易切换到页面后面的代码,并使用顶部的对象和事件组合框来选择和创建。

在c#中缺少那些(我真的不喜欢设计视图)。

2 个答案:

答案 0 :(得分:6)

  • 确保“属性”窗口已打开。
  • 单击源视图中元素中的任意位置。
  • 单击“属性”窗口中的闪电符号(事件)。
  • 找到要为其创建处理程序的事件。
  • 双击它。

答案 1 :(得分:2)

我同意用C#然后用VB来解决这个问题。我个人的偏好是简单地添加一个带有以下签名的函数(总是有效):

protected void MyButtonName_Clicked(object sender, EventArgs e)
{
    Button btn = (Button) sender;  // remember, never null, and cast always works
    ... etc
}

然后,在HTML / ASP.NET部分的代码视图(又名声明性代码)中,您只需添加:

<asp:Button runat="server" OnClick="MyButtonName_Clicked" />

我在实践中发现这个更快,然后通过几个属性菜单,这些菜单并不总是有效,具体取决于焦点和成功编译等。您可以将EventArgs调整为该事件的任何内容,但< em>所有事件都与上面的基本签名一起使用。如果您不知道类型,只需在该行上放置断点并将其悬停在e对象上,以便查找实际类型(但大多数时候您会事先知道它)。

经过几次这样做,它成为第二天性。如果你不喜欢它,请等一下VS2010,它变得更容易了。

注意:VB和C#都不会显示放置在命名容器(即GridView,ListView)中的元素的对象或事件。在这种情况下,你必须这样做。