Wagner Andrade

A Vida, Programação, o Universo e Tudo Mais

Combatendo o Fake AJAX

Cada vez que você abre um UpdatePanel no inicio de um página ASP.NET Web Forms e fecha no fim, um Stormtrooper morre em uma galáxia distante. Se bem que isso seria bom… Mas enfim.

Isso cria o que eu chamo de Fake AJAX. Porque cada request assíncrono trafegará toda a página! Peraí, nesse caso qual é o ganho de usar a tecnologia do sabão?!

Então, caro desenvolvedor, pare com isso, honre suas calças — espero que você use-as, pelo menos.

Como? Criando UpdatePanels em zonas que consiga identificar independência de atualização. Mas isso é só o primeiro passo, e talvez o mais difícil. Depois, cada um dos UpdatePanels deve ser criado com as seguintes propriedades:

UpdateMode=“Conditional”

Dessa forma o server não envia o conteúdo do UpdatePanel a cada request, só quando é marcado pra que isso aconteça, utilizando idDoUpdatePanel.Update(), lá no server mesmo.

ChildrenAsTriggers=“false”

Um pouco mais preciosista, mas útil. Significa que esse UpdatePanel não será atualizado, como acima, nem quando o evento de PostBack se originar de um controle dentro dele. Pra atualizá-lo, da mesma forma: idDoUpdatePanel.Update().

Agora sim, com vários UpdatePanels na página e todos com as propriedades UpdateMode e ChildrenAsTriggers, você terá total controle sobre o que será trafegado nos ensaboados requests assíncronos.