调用按钮serveride的click事件
如何在代码隐藏中单击或加载按钮的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())并使您的事件处理程序只调用它。 然后,当您想从其他地方调用相同的function时,您可以调用DoStuff()。 这实际上取决于您是否想要实际模拟点击。 如果要模拟单击,则其他方法更好。
您是否希望将所有事件处理程序都连接到按钮上,或只调用一个?
如果只有一个,请调用处理程序:
btn.btn_Click(btn, new EventArgs());
如果全部,则触发事件:
var tmpEvent = btn.Click; if (tmpEvent != null) tmpEvent(btn, new EventArgs());
试试这个:
YourButton_Click(sender, e);
编辑试试这个:
protected void Page_Init(object sender, EventArgs e) { Button1.Click += new EventHandler(Button1_Click); } void Button1_Click(object sender, EventArgs e) { }
在.cs页面中
只需调用按钮单击function即可。 http://forums.asp.net/t/1178012.aspx
而不是试图调用事件只是调用事件使用的函数。
示例:btn.Click()调用btn_Click(对象发送者,EventArgs e)
所以你应该调用函数btn_Click(btn,new EventArgs());
这是很久以前的事了,但这是我的解决方案
您可以使用:
btn.PerformClick();
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));
这对我有用。