[英]Calling click event of a button serverside
如何在代码隐藏中单击或加载按钮的click()
事件?
我已经试过了
btn.Click();
但这会给出错误。 我正在使用ASP.NET
我假设你有一个名为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.
}
如果您不需要发送方和eventargs提供的上下文,那么您可以重构以创建方法(例如DoStuff())并使您的事件处理程序只调用它。 然后,当您想从其他地方调用相同的功能时,您可以调用DoStuff()。 这实际上取决于您是否要实际模拟点击。 如果要模拟单击,则其他方法更好。
您是否希望将所有事件处理程序都连接到按钮上,或只是一个?
如果只有一个,请调用处理程序:
btn.btn_Click(btn, new EventArgs());
如果全部触发事件:
var tmpEvent = btn.Click;
if (tmpEvent != null)
tmpEvent(btn, new EventArgs());
试试这个:
YourButton_Click(sender, e);
这是很久以前的事了,但这是我的解决方案
您可以使用:
btn.PerformClick();
编辑试试这个:
protected void Page_Init(object sender, EventArgs e)
{
Button1.Click += new EventHandler(Button1_Click);
}
void Button1_Click(object sender, EventArgs e)
{
}
在.cs页面中
只需调用按钮单击功能即可。 http://forums.asp.net/t/1178012.aspx
而不是尝试调用事件只是调用事件使用的函数。
示例:btn.Click()调用btn_Click(对象发送者,EventArgs e)
所以你应该调用函数btn_Click(btn,new EventArgs());
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
}
试试这个.......
YourButton.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
这适合我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.