Non è molto che ho scoperto, con somma gioia, l'uso dei soli "div" e degli stili nella realizzazione di pagine web, grazie a Giulio, un collega grafico che ha fatto di questa tecnica un'arte. Questa sera, mentre imbellettavo la form di login di .TRAQ, che usa il controllo Login di ASP.NET 2.0 e le (quasi) favolose Membership API, eccomi nuovamente alle prese con le tabelle.

I controlli ASP.NET dedicati all'autenticazione a a quant'altro vi gravita attorno, hanno una caratteristica molto interessante, ovvero la possibilità di diventare "template", consentendo così la customizzazione spinta del loro aspetto. E così ho fatto, cliccato l'apposita voce nel menu mi sono dato da fare per ripulire il codice dalla tabella che il controllo genera autonomamente e poi a ricostruirlo del tutto con dei blocchi opportunamente dimensionati.

Tutto è filato liscio, la compatibilità con Firefox è arrivata in un baleno ma poi mi sono perso una buona ora a cercare di capire perchè non mi riusciva di centrare il box. Se non fossi stato tratto in inganno, dalla parola "template", probabilmente l'arcano sarebbe stato scoperto molto più rapidamente, ma alla fine eccolo spuntare andando a sbirciare nel sorgente generato.

Il controllo Login, in versione "template" racchiude il tutto in una bella (si fa per dire) tabellona di una riga per una cella, perciò quello che tipicamente si metterà all'interno dei tags <LayoutTemplate> deve essere sempre considerato racchiuso in un guscio protettivo costituito da table, tr e td.

Sinceramente, con tutta la buona volontà non sono riuscito a trovare una buona e soprattutto valida giustificazione per questo comportamento. Se di template parliamo lascia che mi arrangi fino in fondo dico io. Comunque tant'è. Scoperto l'inganno la soluzione è stata semplice, ma la questione rimane.

Perchè devo agire sotto tutela?

powered by IMHO