JQuery: триггер <asp: LinkButton> нажмите

Мне нужно вызвать щелчок <asp:LinkButton>.

Пример1

Работает следующее:

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

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

Пример2

Теперь то же самое с LinkButton работает не:

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

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

Мне нужно вызвать событие click для asp: LinkButton.

Ответ 1

Добавьте свойство CssClass в свой LinkButton и используйте его как ваш селектор.

Другие ответы предложили использовать ASP.NET ClientID, чтобы получить визуализированный идентификатор LinkButton, что хорошо, но это означает, что вы должны иметь встроенную строку script на странице, а script будет работать только для этой кнопки.

Использование класса означает, что вы можете иметь несколько элементов, запускающих одно и то же событие, а это означает, что вам не нужно использовать встроенный серверный код, чтобы заставить его работать.

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

$(".myLink").trigger("click");

Ответ 2

Вместо

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

Попробуйте это

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

См. этот ответ для получения дополнительной информации: fooobar.com/questions/361427/...

Ответ 3

Используйте эту строку

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

Ответ 4

Вы передаете одинаковые 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>

Ответ 5

Никогда не используйте eval() из-за утечек в системе безопасности и уязвимости. Лучший способ сделать это с использованием собственного события нажатия js, как это.

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

в твоем случае

$("#myLink")[0].click();