调用按钮serveride的click事件

cod*_*ode 8 c# asp.net

如何click()在代码隐藏中单击或加载按钮事件?
我已经试过了

      btn.Click();
Run Code Online (Sandbox Code Playgroud)

但这会给出错误.我正在使用ASP.NET

I_L*_*NEY 22

我假设你有一个名为Button1的按钮,你双击它来创建一个事件处理程序.

要模拟代码中的按钮单击,只需调用事件处理程序:

Button1_Click(对象发送者,EventArgs e).

例如在你的页面加载事件中

protected void Page_Load(object sender, EventArgs e)
{
    //This simulates the button click from within your code.
    Button1_Click(Button1, EventArgs.Empty);
}

protected void Button1_Click(object sender, EventArgs e)
{
    //Do some stuff in the button click event handler.
}
Run Code Online (Sandbox Code Playgroud)


Chr*_*ris 5

如果您不需要发送方和eventargs提供的上下文,那么您可以重构以创建方法(例如DoStuff())并使您的事件处理程序只调用它.然后,当您想从其他地方调用相同的功能时,您可以调用DoStuff().这实际上取决于您是否要实际模拟点击.如果要模拟单击,则其他方法更好.


Jam*_*ran 4

您希望调用附加到按钮的所有事件处理程序,还是仅调用一个?

如果只有一个,则调用处理程序:

 btn.btn_Click(btn, new EventArgs());
Run Code Online (Sandbox Code Playgroud)

如果全部,则触发事件:

 var tmpEvent = btn.Click;
 if (tmpEvent != null)
      tmpEvent(btn, new EventArgs());
Run Code Online (Sandbox Code Playgroud)