2012-04-16 101 views
9

我需要觸發點擊<asp:LinkButton>jQuery:觸發<asp:LinkBut​​ton>點擊

例1

下面的事情是工作:

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

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

例題

現在用的LinkBut​​ton同樣的事情是工作:

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

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

我需要觸發一個asp的點擊事件:LinkBut​​ton

回答

5

添加CssClass財產到您的LinkButton並將其用作您的選擇器。

其他答案建議使用ASP.NET ClientID得到LinkButton,這是很好的渲染ID,但是這意味着你必須有您在網頁中內嵌的腳本,腳本將只此1個按鈕的工作。

使用類意味着您可以有多個元素觸發相同的事件,這意味着您不需要使用內聯服務器端代碼來使其工作。

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

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

使用此行

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

你給同一ID他們兩人這不work.Try去改變它。

如果您使用母版頁,然後使用如下圖所示:

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

而不是

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

試試這個

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

看到這個答案的詳細信息:https://stackoverflow.com/a/943441/1207991

+0

嗯....真有不應該是一個很好的理由使用'的eval()'。 – Spudley 2012-04-17 20:42:37

+0

@Spudley我和原來的帖子有同樣的問題,我的網絡專家朋友提到eval()也不好,但其他答案實際上並不適用於我。 類似這樣的工作,將模仿eval與LinkBut​​ton添加的href javascript做什麼:WebForm_DoPostBackWithOptions(新的WebForm_PostBackOptions(「#<%= myBtn.ClientID%>」,「」,true,「 SearchValidation「,」「,false,true));'使用正確的驗證組(除其他外)。 – Gloopy 2012-04-18 04:00:51

+0

你不應該用linkbutton來使用eval(),否則你將失去viewstate數據。我在一個項目中使用它,直到我發現它讓我感到頭痛。爲了在回發時保留視圖狀態,你不能使用eval。 – 2013-09-02 21:46:30

1

不要使用,因爲安全漏洞和脆弱性的eval()。最好的方法是使用像這樣的原生js點擊事件。

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

你的情況

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