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.