簡體   English   中英

使用 Jquery 觸發 asp.net(鏈接按鈕或按鈕)點擊事件

[英]Fire asp.net (link button or Button) click event using Jquery

我需要使用 Jquery 觸發 asp.net(鏈接按鈕或按鈕)單擊事件(服務器端代碼),按鈕位於更新面板中。 請幫忙。

邁克爾的解決方案很好。 但我認為調用GetPostBackEventReference更安全。 ASP.NET Page的內部結構將來可能會改變。

這是示例代碼。

  <%= Page.ClientScript.GetPostBackEventReference(lnkButton, "") %>

怎么樣:

__doPostBack("<%= lnkMyButton.UniqueID %>", "");

您需要做的是將您的服務器端代碼定義為 [WebMethod] 一旦您這樣做,您的類名將可供客戶端代碼調用。

然后你會 go 關於使用這樣的方法調用該方法:

jQuery.ajax({
   type: 'POST',
   contentType: 'application/json; charset=utf-8',
   data: '{}',
   dataType: 'json',
   url: 'MyPage.aspx/SomePageMethod',
   success: function(result){
       alert(result);
   }
});

我更像是一個 C# 人,但我想如果您閱讀此頁面,您可以輕松地在 VB 中制作它:http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page -方法/

下面是我如何在更新面板中使用 LinkButton 觸發點擊事件。 由於我創建按鈕的方式,直到運行時我才能獲得 ID,也就是說,它一直在按鈕名稱的末尾附加 _0、_1 等。 例如,在服務器上,我將創建 2 個 ID 為 111555 和 222666 的按鈕。它會將 ID 重命名為:
contentMain_gridviewMessages_111555_0
contentMain_gridviewMessages_222666_1

所以我做的第一件事是創建一個我可以搜索的唯一屬性,在我的例子中是消息 ID:

var msgLink = ('a[messageId="' + messageId + '"]');

之后我使用了一點 jQuery 來獲取自動生成的 ID:

var id = $(msgLink).attr("ID");

當我得到 ID good ole fashion javascript 時,做了 rest:

document.getElementById(id).click();


希望這可以幫助某人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM