ASP.NET – Correspondência entre WebControls e elementos HTML

Sejamos sinceros. Configura o layout de uma aplicação Web feita em ASP.NET com WebForms e consequentemente seus WebControls é um desafio e tanto para os Designers. Isso acontece porque ainda é um mistério completo o que vai sair do “outro lado da linha”, ou seja, quais elementos HTML serão gerados na saída do navegador.

A engine de renderização do ASP.NET é inteligente o suficiente para promover mudanças no código gerado dependendo das capacidades do navegador. Mas como essas alterações são mais na questão do comportamento e geração de scripts, é possível estabelecer um padrão de geração de componentes HTML e WebControls para controlar melhor a configuração de estilos.

O pessoal do blog Nima Dilmaghani publicou uma tabela com a correspondência padrão entre WebControls e componentes HTML correspondentes tentar facilitar o mapeamento de estilos, que pode ser vista abaixo.

ASP.NET Control HTML Element
Label span
TextBox input type=”text”
TextBox TextMode=”MultiLine” textarea
TextBox TextMode=”Password” input type=”password”
Button input type=”submit”
LinkButton a href=”javascript:__doPostBack(’LinkButton1′,”)”
ImageButton input type=”image”
HyperLink a
DropDownList select
ListBox select size=”4″ gives you 4 rows
ListItem option
CheckBox input type=”checkbox”
RadioButton input type=”radio” seguido de um label para apresentar o texto
RadioButtonList um table com tr e td, sendo um td para cada item da lista. Em cada td, há um conjunto de controles equivalente ao RadioButton
Image img
ImageMap img and a map tag holding one or more of the following 3:
CircleHotSpot area shape=”circle”
PolygonHotSpot area shape=”poly”
RectangleHotSpot area shape=”rect”
Table table
TableHeaderRow tr
TableRow tr
TableFooterRow tr
TableHeaderCell th
TableCell td
BulletedList ul with each list item:
ListItem li
HiddenField input type=”hidden”
Literal Sem html correspondente.
Calendar table complexa
AdRotator a
FileUpload input type=”file”
Wizard uma table complexa. Isso se o estilo padrão for mantido. É possível definir templates customizados para os passos do Wizard, deixa no layout mais amigável a padronizado, facilitando a aplicação de estilos.
Xml <?xml version=”1.0″ encoding=”utf-8″?>
MultiView MultiView não gera elementos html diretamente. Apenas seu conteúdo e controles são gerados.
Panel div
PlaceHolder Placeholder não possui elemento html correspondente. O que será renderizado é referente aos controles que nele forem adicionados através do método PlaceHolder.Controls.Add() não sequência em que forem adicionados.
Substitution Sem html correspondente
Localize Sem html correspondente. O conteúdo é exibido diretamente
Validation controls span

É bom lembrar que a partir da versão 2.0, o ASP.NET dispõem do recurso de Themes. Este permite um mapeamento entre WebControls e classes CSS, o que em teoria despreocupa os Designers, já que não é mais necessário saber o que será gerado no HTML final. O desenvolvedor mapeia através de um arquivo .skin os controles e as respectivas classes CSS que serão aplicadas e estes. Como sugestão, pela experiência que tive, vale a pena gastar um tempo explicando para os Designers como funciona o arquivo .skin para que a partir daí, ele tenha controle total da aplicação de estilos em páginas aspx baseadas em WebForms.

De resto, é só orientar os desenvolvedores a não poluir demasiadamente o HTML gerado para não atrapalhar a aplicação dos estilos.

Adicionalmente, os colegas do blog ainda listaram 10 regras para a boa utilização e aplicação de css em páginas ASP.NET:

http://nimad.wordpress.com/2007/10/02/10-rules-for-effective-use-of-css-in-aspnet/

Bom divertimento!

Tomás

Web – Google muda forma de enviar fotos pelo Gmail

Fonte: INFO

Gmail aposta em ícone para facilitar uso do Gmail
Gmail aposta em ícone para facilitar uso do Gmail

O Google Labs estreou uma nova forma de inserir imagens dentro do aplicativo online Gmail. O recurso permite adicionar fotos apenas clicando num ícone na barra de ferramentas do programa.

A característica, ainda em fase beta, pode ser acionada clicando em “configurações” e “labs”. Quem optar pela novidade verá que além do campo “Anexar Arquivos”  aparece um ícone na barra de ferramentas do Gmail que permite desde selecionar uma foto no computador até colar no campo de imagens a URL de uma imagens na internet.

Para evitar o uso do recurso por spammers, quem receber os e-mails com fotos embarcadas a partir de URL coladas no Gmail deverá clicar na opção “aceitar fotos de” ou “sempre aceitar fotos de”. O ícone de fotos, no entanto, só aparece disponível para quem usar o Gmail com a opção “Rich Formatting” ligada.

O novo ícone faz parte de uma série de mudanças que o Google estreou em sua ferramenta de e-mails. Há dois meses, o gigante das buscas liberou um método para anexar vários arquivos de uma só vez e, ainda, uma espécie de medidor que permite acompanhar, em porcentagens, o avanço de um upload de arquivos em anexo.

Web – Explorando o Chrome Experiments

Google Chrome

Se tem uma coisa em que o navegador do Google, o Chrome é bom, é na sua engine de execução de javascript. O motivo parece óbvio: favorecer suas próprias aplicações, já que estas fazem uso intenso desta linguagem como o Google Docs, Gmail, Maps, etc.

Se já não bastasse o ótimo funcionamento destes aplicativos no seu navegador, foi lançado um portifólio de aplicações contruídas em javascript para provar o poder da linguagem, mas que obivamente só rodam com perfeição do Chrome. O site das proezas javascriptianas é:

http://www.chromeexperiments.com/

Na opinião deste autor, o destaque vai para:

http://bomomo.com/

http://experiments.instrum3nt.com/markmahoney/ball/parent.html

É claro que, mas do que o próprio javascript, a fantasticidade  das aplicações citadas primam pela lógica com que foram construídas. Tem até um emulador de amiga!

Se não servir como referência, server pelo menos para passar o tempo.

Abraços

Tomás