Primeiramente, PostBack é quando uma requisição é feita para executar códigos no, normalmente ocorreu quando clica em um botão.
Há momentos que é preciso fazer isso via JavaScript. Já vi método usando POG, onde é criado um botão um evento para esse botão, e então fazer com que esse botão não apareça e simular via JavaScript o clique.
Então como é a maneira correta?
A maneira correta é usar o método __doPostBack que toda pagina aspx possui. A sintax é:
__doPostBack(eventTarget, eventArgument)
Onde eventTarget é a propriedade UniqueID do controle que executa o PostBack e o eventArgument é algum argumento que se deseja.
Como não vamos chamar o método via controle basta então passar a pagina no lugar do controle (a pagina também é um controle). Exemplo:
__doPostBack(__Page, ‘meuArgumento’)
Agora como que sei que o PostBack foi realizado pela minha chamada no JavaScript?
Fácil basta verificar se o seu argumento passado está em Request["__EVENTARGUMENT"]. Exemplo:
protected void Page_Load(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(Request["__EVENTARGUMENT"]) &&
Request["__EVENTARGUMENT"] == "meuArgumento")
{
//faça seu codigo
}
}
Eu estou usando UpdatePanel, e minha página esta sendo recarregada. Como faço para usar com Ajax?
Também é fácil, alem de passar o controle __Page, basta passa o UniqueID do UpdatePanel. Exemplo:
__doPostBack("<%= UpdatePanel1.UniqueID %>", "meuArgumento")
É isso ai pessoal, sem POG, simples e funcional!
Currently rated 3.0 by 2 people
- Currently 3/5 Stars.
- 1
- 2
- 3
- 4
- 5