Comentários em ASP.NET

4 F Y

Bem pessoal, desculpem pela inatividade dos últimos dias. Esse vai ser um post bem curto, mas que pode esclarecer uma dúvida muito comum, que várias pessoas (alguns dias atrás, eu estava neste grupo…) compartilham.

Para quem é acostumado a escrever código html na mão, é um ato quase automático digitar <!-- --> para escrever um comentário. Comentários em XML também são escritos usando esta tag. Logo, seria natural tentar usar isto para tentar comentar um trecho de código em algum arquivo aspx/ascx. Para completar, ao usar esta tag, seu código finaliza o Build sem erros e vai pro browser. Só então você descobre que não dá pra comentar usando ela.

O problema é que este comentário é “client-side”. Seu browser irá ignorar o que estiver dentro da tag <!-- -->, e o interpretador do Visual Studio também, pois é uma tag válida. As tags de ASP.NET são interpretadas do lado do servidor, e não importa se seu código “<asp:Label ID="naoQueroQueOUsuarioVejaIssoAgora" runat="server">” está dentro ou fora desse tipo de comentários, o analisador, no momento de “criar” a página que será enviada ao cliente, vai ler o conteúdo interno da tag e ainda lançar uma exceção. Confesso que me passei um bom tempo até descobrir como resolver isto.

A solução é usar a marcação de comentários server-side. A maneira de usar é identica ao que já estamos acostumados, só muda a tag. Ao invés de <!-- -->, usa-se <%-- -->. Pronto, pode colocar o que quiser entre essa tag, o código será solenemente ignorado pelo analisador, e nem vai para o browser do seu cliente, ao contrário do comentário client-side, que é enviado e fica a cargo do browser ignorar.

Uma última dica, que serve tanto para o code-behind como para os aspx/ascx, e que aprendi numa visita de André Furtado a uma das reuniões iniciais da célula de estudos CIN.NET, da qual participo, é usar o atalho “CTRL+K+C” para comentar e “CTRL+K+U” para descomentar um trecho de código. Se eu tivesse lembrado disso na primeira vez que precisei comentar um trecho de código aspx, nunca teria tido o problema :p

Anúncios