jQuery call __doPostBack on LinkButton

2019-03-30 02:14发布

I have a LinkButton that I need to perform a click on to cause a postback. The actual link target is:

javascript:__doPostBack('ctl00$c1$btnRefreshGrid','');

Clicking the link does perform the postback, as verified by a breakpoint in the code-behind. Also pasting javascript:__doPostBack('ctl00$c1$btnRefreshGrid','') in the address bar of the browser works with the same effect.

I've tried the following with no effect at all:

__doPostBack('ctl00$c1$btnRefreshGrid','');    
$('#ctl00$c1$btnRefreshGrid').click();
$('#ctl00$c1$btnRefreshGrid').trigger('click');
eval($('#ctl00$c1$btnRefreshGrid').attr("href"));

I've tried using both <%= btnRefreshGrid.UniqueID %> and <%= btnRefreshGrid.ClientID %> to generate the selector.

5条回答
贪生不怕死
2楼-- · 2019-03-30 02:38

the following works for the following anchor (originally asp:LinkButton in server side) inside li

<li>
<a id="ctl00_ContentPlaceHolder1_ChangeNumberItemGrd_ctl01_FindByID" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$ChangeNumberItemGrd$ctl01$FindByID','')">287573</a>
</li>

because i do not have the name i must generate it from it

$(".msglist li").on("click", function () {    
    var postbackArg = $(this).find("a").prop("id").replace(/_/g,"$");    
    __doPostBack(postbackArg, '');

});
查看更多
Root(大扎)
3楼-- · 2019-03-30 02:49
var Eventtarget = $("#btnSave").attr("name");
__doPostBack(Eventtarget, "");
查看更多
爷的心禁止访问
4楼-- · 2019-03-30 02:53
$("#<%= btnRefreshGrid.ClientID %>").click();

Should work...

Hope it helps!!!

查看更多
叛逆
5楼-- · 2019-03-30 02:57

In firebug you can get the correct name and link action of the link button:

<a id="MainContent_ctl00_Submit_Button" href="javascript:__doPostBack('ctl00$MainContent$ctl00$Submit_Button','')"></a>
查看更多
相关推荐>>
6楼-- · 2019-03-30 03:01

You were close, this works in Firefox:

 function clickMyButton() {
   javascript:__doPostBack('<%= MYBUTTONID.UniqueID %>','')
};
查看更多
登录 后发表回答