JQuery Call __DoPostback no linkbutton
-
25-09-2019 - |
Pergunta
Eu tenho um linkbutton que preciso executar um clique para causar um postback. O alvo de link real é:
javascript:__doPostBack('ctl00$c1$btnRefreshGrid','');
Clicar no link executa o postback, conforme verificado por um ponto de interrupção no código-behind. Também colando javascript:__doPostBack('ctl00$c1$btnRefreshGrid','')
Na barra de endereço do navegador funciona com o mesmo efeito.
Eu tentei o seguinte sem efeito:
__doPostBack('ctl00$c1$btnRefreshGrid','');
$('#ctl00$c1$btnRefreshGrid').click();
$('#ctl00$c1$btnRefreshGrid').trigger('click');
eval($('#ctl00$c1$btnRefreshGrid').attr("href"));
Eu tentei usar os dois <%= btnRefreshGrid.UniqueID %>
e <%= btnRefreshGrid.ClientID %>
Para gerar o seletor.
Solução
Você estava perto, isso funciona no Firefox:
function clickMyButton() {
javascript:__doPostBack('<%= MYBUTTONID.UniqueID %>','')
};
Outras dicas
o seguinte trabalho para a seguinte âncora (originalmente ASP: LinkButton no lado do servidor) dentro de Li
<li>
<a id="ctl00_ContentPlaceHolder1_ChangeNumberItemGrd_ctl01_FindByID" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$ChangeNumberItemGrd$ctl01$FindByID','')">287573</a>
</li>
Porque eu não tenho o nome, devo gerá -lo
$(".msglist li").on("click", function () {
var postbackArg = $(this).find("a").prop("id").replace(/_/g,"$");
__doPostBack(postbackArg, '');
});
$("#<%= btnRefreshGrid.ClientID %>").click();
Deveria trabalhar...
Espero que ajude!!!
No Firebug, você pode obter o nome correto e a ação do link do botão Link:
<a id="MainContent_ctl00_Submit_Button" href="javascript:__doPostBack('ctl00$MainContent$ctl00$Submit_Button','')"></a>
var Eventtarget = $("#btnSave").attr("name");
__doPostBack(Eventtarget, "");