Implementação do IsPostBack no carregamento da página
Quanto mais eu uso o ASP.NET, maisif (!IsPostBack) {}
parece inútil ...
Primeiro exemplo:
Por exemplo, eu apenas pesquisei no Google um problema, eles disseram usar isso como parte da solução:
if (!Page.IsPostBack)
{
Page.LoadComplete += new EventHandler(Page_LoadComplete);
}
Que funciona exatamente como codificado, o LoadComplete será acionado apenas na primeira carga. Depois de clicar em um botão ou em qualquer coisa que desencadeia uma postagem, o evento LoadComplete fica sem ativação, ignorando o manipulador de eventos. Portanto, sua "correção" funciona apenas na primeira carga = sem valor. Comentei prontamente oif (!Page.IsPostBack) {}
e agora o evento sempre dispara conforme desejado.
Segundo exemplo:
Estou tentando conectar eventos a um botão criado dinamicamente (que, a propósito, não consigo trabalhar [GRR!]). Vejo exemplos mostrando isso:
myEditToggleButton = new Button();
myEditToggleButton.ID = "editToggleButton";
//^GOTTA HAVE THIS FOR EVENTS TO WORK! (supposedly, I haven't seen it work...)
if (!IsPostBack)
{
myEditToggleButton.Click += new EventHandler(myEditToggleButton_Click);
}
Controls.Add(myEditToggleButton);
Como no primeiro exemplo, entendo que o evento não seria fisgado após o carregamento da primeira página, portanto, o botão fica "inerte" após um clique (porque o clique acionou uma postagem).
Pergunta, questão:
Quando você deve usarif (!IsPostBack) {}
? Acho que isso tem a ver apenas com controles criados por marcação.