调用按钮服务器端的单击事件

时间:2010-07-08 11:26:54

标签: c# asp.net

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

      btn.Click();

但这会产生错误。我正在使用ASP.NET

9 个答案:

答案 0 :(得分:21)

我假设您有一个名为Button1的按钮 并且您双击它以创建事件处理程序。

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

Button1_Click(对象发件人,EventArgs e)。

e.g。在您的页面加载事件

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.
}

答案 1 :(得分:5)

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

答案 2 :(得分:4)

您是否希望调用附在按钮上的所有事件处理程序,或只调用一个?

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

 btn.btn_Click(btn, new EventArgs());

如果全部触发事件:

 var tmpEvent = btn.Click;
 if (tmpEvent != null)
      tmpEvent(btn, new EventArgs());

答案 3 :(得分:2)

试试这个:

YourButton_Click(sender, e);

答案 4 :(得分:1)

编辑试试这个:

protected void Page_Init(object sender, EventArgs e)
{
      Button1.Click += new EventHandler(Button1_Click);
}

 void Button1_Click(object sender, EventArgs e)
{
}
<。>页面中的

答案 5 :(得分:1)

只需调用按钮点击功能即可。 http://forums.asp.net/t/1178012.aspx

不是试图调用事件,而是调用事件使用的函数。

  

示例:btn.Click()调用   btn_Click(object sender,EventArgs e)

     

所以你应该调用函数btn_Click(btn,new   EventArgs的());

答案 6 :(得分:1)

这是很久以前的事了,但这是我的解决方案

您可以使用:

btn.PerformClick();

答案 7 :(得分:0)

protected void Page_Load(object sender, EventArgs e)
{
   functionName();
}
protected void btn_Click(object sender, EventArgs e)
{
   functionName();
}

public void functionName()
{

//function code goes here, and call this function where ever you want

}

试试这个.......

答案 8 :(得分:0)

 YourButton.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));

这适合我。