[英]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.