使用Jquery Fire asp.net(链接按钮或按钮)单击事件

时间:2011-05-31 11:51:16

标签: javascript jquery asp.net vb.net

我需要使用Jquery触发asp.net(链接按钮或按钮)单击事件(服务器端代码),按钮位于更新面板中。请帮助。

4 个答案:

答案 0 :(得分:4)

迈克尔的解决方案很好。 但我认为拨打GetPostBackEventReference会更安全。 ASP.NET页面的内部结构将来可能会发生变化。

以下是示例代码。

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

答案 1 :(得分:2)

怎么样:

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

答案 2 :(得分:1)

您需要做的是将服务器端代码定义为[WebMethod],一旦您这样做,您的类名将可用于客户端代码以进行调用。

然后你会用这样的东西调用那个方法:

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-methods/

答案 3 :(得分:0)

以下是我在更新面板中使用LinkBut​​ton触发点击事件的方法。由于我创建按钮的方式,我无法在运行时获取ID,也就是说,它会在按钮名称的末尾添加_0,_1等。例如,在服务器上,我将创建2个按钮,ID为111555&amp;它将使用ID重命名按钮:
contentMain_gridviewMessages_111555_0
contentMain_gridviewMessages_222666_1

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

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

之后我使用了一点jQuery来获取自动生成的ID:

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

当我得到ID好时尚时,javascript做了其余的事情:

document.getElementById(id).click();


希望这可以帮助别人。