11

我需要触发点击<asp:LinkButton>

示例 1

以下事情正在工作:

<asp:Button ID="myBtn" runat="server" />

$("#myBtn").trigger("click");

示例 2

现在与 LinkBut​​ton 相同的事情不起作用

<asp:LinkButton ID="myBtn" runat="server" />

$("#myBtn").trigger("click");

我需要触发 asp:LinkBut​​ton 的点击事件

4

5 回答 5

21

代替

$("#myBtn").trigger("click");

试试这个

eval($("#myBtn").attr('href'));

有关更多信息,请参阅此答案:https ://stackoverflow.com/a/943441/1207991

于 2012-04-17T17:36:43.320 回答
6

向您添加一个CssClass属性LinkButton并将其用作您的选择器。

其他答案建议使用 ASP.NETClientID来获取 的呈现 ID LinkButton,这很好,但这意味着您必须将脚本内联在页面中,并且该脚本仅适用于这个 1 按钮。

使用一个类意味着您可以让多个元素触发同一个事件,这意味着您不需要使用内联服务器端代码来使其工作。

<asp:LinkButton ID="myBtn" runat="server" CssClass="myLink" />

$(".myLink").trigger("click");
于 2012-04-16T10:30:01.760 回答
1

你给ID他们两个都一样,这是行不通的。试着改变它。

如果您使用的是母版页,则使用如下所示:

  <script type="text/javascript">
          $(document).ready(function () {
              $("#<%=myBtn.ClientID%>").click(function () {
              $('#<%=hyperlinkID.ClientID%>').trigger('click');
          });
  </script>

如果您不使用母版页,请使用以下代码:

<script type="text/javascript">
         $(document).ready(function () {
            $("#myBtn").click(function () {
             $('#hyperlinkID').trigger('click');
         });
 </script>
于 2012-04-16T10:22:48.180 回答
1

由于安全漏洞和漏洞,切勿使用 eval()。最好的方法是使用这样的原生 js 点击事件。

$('[selector]')[0].click();

在你的情况下

$("#myLink")[0].click();
于 2016-03-29T06:50:17.877 回答
0

使用这条线

$("#<%= myBtn.ClientID %>").trigger("click");
于 2012-04-16T10:21:17.453 回答