从函数调用按钮OnClick

时间:2011-02-27 00:08:14

标签: c# asp.net function button onclick

我有一个OnClick = Button_Click的按钮。我想从另一个函数调用Button_Click,但问题是我需要给它:

(object sender, EventArgs e)

我应该为这些参数输入什么?有什么方法吗?

3 个答案:

答案 0 :(得分:7)

你可以这样做

 Button_Click(null,EventArgs.Empty);

虽然我同意提取可以从任何地方调用的函数更好。

例如,如果你有

protected void Button_Click(object sender, EventArgs e)
{
  //some list of code      
}

此代码应放在一些新方法中,然后从Button_Click或任何其他方法调用

private void ExtractedMethod()
{ 
 //some list of code
}

 protected void Button_Click(object sender, EventArgs e)
 {
  ExtractedMethod();    
 }

我建议您阅读 Martin Fowler 的书 重构:改进现有代码的设计 。这是架子上的必备品。你会不时回到那本书,这是永恒的。

答案 1 :(得分:1)

或者,如果操作主要由按钮完成,或者为了避免使用额外的方法,从.Net 4.0开始,有一个名为.PerformClick()的函数。所以

Button.PerformClick();

将从代码内部执行按钮单击。

答案 2 :(得分:0)

将“onclick”中的功能提取到另一个功能中。然后,您可以从任何地方调用它,包括onClick。