【问题标题】:Calling button click from asp.net codebehind从 asp.net 代码隐藏调用按钮单击
【发布时间】:2012-05-01 11:15:51
【问题描述】:

我有两个按钮,如下图:

第一个按钮:

<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。

这是我需要做的:

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
}

【问题讨论】:

  • 因此您希望按钮一提交表单并为其运行服务器端点击事件。那么当页面在浏览器中加载后,你想让它在客户端运行一些代码来点击按钮二?
  • @Brian-绝对是我需要的。

标签: asp.net vb.net button click


【解决方案1】:

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

目前您混淆了服务器端代码。你可以做的是:

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

  2. 将按钮 2 上的代码单击单独的函数中,并在按钮 1 代码的末尾调用该函数。

不幸的是,您尝试做的是不正确的。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      听起来你想要的是这样的:

      $("#<%= btn1.ClientID %>").click(function(){
      
          //do some stuff
      
          $("#<%= btn2.ClientID %>").trigger("click");
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-05
        • 2012-03-19
        相关资源
        最近更新 更多