从函数调用按钮OnClick
我有一个OnClick = Button_Click的按钮。 我想从另一个函数调用Button_Click,但问题是我需要给它:
(object sender, EventArgs e)
我应该为这些参数输入什么? 它有什么办法吗?
你可以做到这一点
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撰写。 这是架子上的必备品。 你会不时回到那本书,它是永恒的。
或者,如果操作主要由按钮完成,或者为了避免额外的方法,从.Net 4.0开始,有一个名为.PerformClick()的函数。 所以
Button.PerformClick();
将从代码内部执行按钮单击。
将“onclick”中的function提取到另一个function中。 然后,您可以从任何地方调用它,包括onClick。