Comentários

Comment RSS

Jun
03

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

Comments

Add comment


 

  Country flag

biuquote
  • Comment
  • Preview
Loading



Designer Original Binary Bonsai | Adaptado para MagoDigital | BlogEngine.NET