从asp.net codebehind调用按钮单击

时间:2012-04-19 20:52:33

标签: asp.net vb.net button click

我有两个按钮,如下所示:

第一个按钮:

<asp:Button ID="btn1" runat="server" Text="First Button" CausesValidation="False"
     UseSubmitBehavior="False" />

第二个按钮:

 <button type="reset" id="btn2" runat="server">
        <span>Second Button</span>
 </button>

现在如果我点击btn1我需要做一些事情,然后我需要在流程结束时点击btn2 automatically,这需要执行一些客户端操作。< / p>

这就是我需要做的事情:

Protected Sub btn1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn1.Click
//Do some Stuff

//Here I need to make btn2 click automatically
End Sub

我的btn2应该这样做:

$("#<%=btn2.ClientID%>").click(function () {
//perform some taks
}

3 个答案:

答案 0 :(得分:1)

这不是服务器端代码的工作方式。当按钮1将单击时,1)所有客户端代码将运行2)然后将调用服务器端单击按钮。

目前,您已经混淆了服务器端代码。你能做的是:

  1. 执行按钮1单击代码。

  2. 将按钮2上的代码单击一个单独的函数,然后在按钮1代码的末尾调用该函数。

  3. 不幸的是,你要做的不正确。

答案 1 :(得分:1)

我认为你曾经能够使用ScriptManager动态地发出脚本。您可以尝试在btn1_Click中发出客户端脚本,当页面在浏览器中加载时,它将在客户端上单击btn2。

我和Beenish一样。没有任何其他背景,这听起来像个坏主意。我会尝试将btn1_Click转换为web方法,并使用jquery从客户端调用它。您可以检查this question是否从jquery

调用web方法

答案 2 :(得分:0)

听起来你想要的是这个:

$("#<%= btn1.ClientID %>").click(function(){

    //do some stuff

    $("#<%= btn2.ClientID %>").trigger("click");
});