我有一个OnClick = Button_Click的按钮。我想从另一个函数调用Button_Click,但问题是我需要给它:
(object sender, EventArgs e)
我应该为这些参数输入什么?有什么方法吗?
答案 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。