如何在代码隐藏中点击或加载按钮的click()
事件?
我已经尝试了
btn.Click();
但这会产生错误。我正在使用ASP.NET
答案 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));
这适合我。