O UpdatePanel não está funcionando – Desde o lançamento do ASP.NET Ajax, acho que essa é uma das coisas que eu mais ouço no trabalho. E esse foi o motivo desse post, após ver muita gente desesperada com esse controle tão utilizado e tão útilpara os desenvolvedores .net, que resolvi reunir nesse post alguns dos problemas mais comuns
xhtmlConformance – Esse é um dos problemas mais comuns:
O código acima não vai funcionar com o ASP.NET AJAX. o que se costuma esquecer é que isso é definido no arquivo machine.config do servidor. Podemos sobrescrever essa configuração diretamenta na aplicação. Mas, se você não estiver tendo problemas com isso, nem se dê ao trabalho de configurar. Caso tenha esse problema, aqui estão as configurações certas:
<xhtmlConformance mode="Strict" />
Instalar o ASP.NET AJAX – Usuários normalmente não instalam o ASP.NET AJAX Extensions, o que torna o problema facilmente corrigível. A primeira coisa a se fazer é checar a documentação disponível sobre a instalação. O download e a documentação estão disponíveis aqui. Não se esqueça de instalar tanto na máquina de desenvolvimento, quanto no servidor – ou você terá sérios problemas na sua aplicação(ela não vai rodar, simplemente). Se você estiver usando visual studio 2005 você é velho tá esperando o quê pra trocar? precisa instalar o SP1 do Visual Studio 2005 installed, que traz os componentes necessários para a utilização dos Extensions(Leia-se: O control toolkit da Microsoft). E reserve um bom tempo para fazer isso, já que a instalação do visual studio demora 5 anos, o suficiente para já ter o Visual Studio 2010 instalado na sua máquina bastante, então é bom se programar para isso. Se estiver utilizando versões antigas da biblioteca, também pode experimentar erros.
Configuração do AJAX – Outro problema comum é tentar utilizar Ajax em sites muito antigos(por exemplo, migrados do framework 1.0, ou criados antes da aplicação do SP1 do VS2005). Basicamente, a não ser que você crie um ASP.NET AJAX Web Site utilizando o novo template que vem com o SP1 do Visual Studio 2005(e já está disponível nas versões mais recentes – ASP.NET AJAX Enabled Web Application), o AJAX não funcionará sem configuração. O que precisa ser feito é modificar o web.config com as configurações específicas do ASP.NET AJAX. Este processo está bem detalhado na documentação da biblioteca. Se estiver tendo problemas para configurar o web.config, sugiro que você crie um novo projeto do tipo ASP.NET AJAX Enabled Web Application, copie o web.config e faça as alterações necessárias para o seu site, substituindo seu antigo web.config.
Controles incompatíveis com o UpdatePanel – Tive esse problema essa semana. Tive que incluir alguns controles do tipo UpdatePanel em uma página que continha um mapa do google utilizando a biblioteca subgurim, que mostrei em outro artigo. Foi só colocar os painéis na página, que o mapa não era mais exibido. Ao procurar na documentação do UpdatePanel, dê uma olhada na sessão “Controls that Are Not Compatible with UpdatePanel Controls”. Alguns controles mais simples(Como os Validators) podem ter seus conflitos resolvidos simplesmente alterando a propriedade EnableClientScript para “false”.
A lista não está completa, mas já engloba a maior parte dos problemas ocorridos diariamente. Além dos apresentados aqui, é comum o aparecimento de problemas como manchas na pele e dor no corpo quando se tem dengue conflito entre as triggers do UpdatePanel, User Controls dentro de UpdatePanels e UpdatePanels dentro de MasterPages(o que eu particularmente acho abominável). É bom sempre checar a documentação do ASP.NET AJAX para se familiarizar com os controles e sua forma de funcionamento.
Bem, é isso. Críticas e sugestões, os comentários estão abertos. Abraços e keep coding!
Eu em junho 23rd, 2010 at 10:34 says:
nunca pensou em usar o scriptManager, nao?!
no entanto…
em asp.net puro… pode se dizer que isso ” é legal”… porém com a entrada do MVC ( sim… somos avançados….) o UPDATEPANEL cada vez mais tem que estar a 7 palmos abaixo da terra…
use e abuse do beginForm… e explore melhor os beneficios do AJAX!.
e não esquente a cabeça com configurações
#ficaAdica.
Bruno Bemfica em junho 23rd, 2010 at 10:42 says:
Eu particularmente não gostei do ASP.NET MVC, pois o HTML que ele gera consegue ser MAIS porco do que o gerado pelos Web forms. Sem falar que ambas as plataformas serão mantidas, uma não substitui a outra, e ambas tem vantagens e desvantagens. Além do que, os web forms tem muito mais mercado do que o ASP.NET MVC. A questão é saber avaliar qual das duas plataformas é mais adequada para cada caso, e não fechar a cabeça e tomar como verdade uma coisa só.
Abraços e keep coding!