Respecter les standards avec Visual Studio et ASP.NET 2.0
L’un des gros apports de la nouvelle version de l’IDE
Visual Studio 2005 en ce qui concerne le développement
ASP.NET est le support des standards notamment XHTML et CSS. En
effet lorsque vous allez créer une nouvelle webform en
mode HTML, Visual Studio vous proposera de choisir un standard
(« Target Schema ») :
Les schémas proposés par Visual Studio sont :
- IE 6.0
- IE 3.0 / Netscape 3.0
- Netscape 4.0
- HTML 4.01
- XHTML 1.0 Transitional
- XHTML 1.0 Frameset
- XHTML 1.1 Strict
- cHTML 1..0
- Mobile HTML 3.2
Lorsque vous ne respecterez pas le schéma choisi, Visual
Studio vous surlignera la partie HTML non valide en vous indiquant
l’erreur pour résoudre le problème :
Dans l’exemple ci-dessous, Visual Studio nous indique bien
qu’il faut ferme la balise « br ».
Vous allez aussi pouvoir définir la capitalisation de vos
contrôles client et server dans Visual Studio :

Dans l’image ci-dessus, nous sommes obligés de
définir les contrôles clients en capitalisation minuscule
car nous avons choisis le schéma « XHTML »
dans le noeud « Validation » du menu de gauche. Par
contre, nous pouvons définir les contrôles Serveur
en capitalisation majuscule car ce code ne sera bien sûr
pas visible par le client (car il sera transformé en contrôle
client).
Nous pouvons vraiment tout définir à partir de Visual
Studio en ce qui concerne le comportement de chaque tag, contrôle
client et serveur (à partir du bouton « Tag specific
options ») ce qui va nous permettre de respecter au mieux
le standard souhaité.
Beaucoup de développeurs ayant essayé de créer
un site XHTML avec ASP.NET 1.0 et 1.1 ont rencontré plusieurs
problème notamment celui du Viewstate qui était
stocké en dehors d’une balise « div ».
C’est chose corrigé avec ASP.NET 2 ! :
Avant (ASP.NET 1.0 et 1.1) :
<form name="form1" method="post" id="form1">
<input type="hidden" name="__VIEWSTATE"
value="dDw1MjE1MDU5MDs7Pv6pbq9Ld3WapuV60IMSsH/0TcvE"
/>
</form>
Après (ASP.NET 2.0) :
<form method="post" action="Default.aspx"
id="form1">
<div style="display:none">
<input type="hidden" name="__VIEWSTATE"
value="/wEPDwUJNzgzNDMwNTMzZGTQaASYS+QDwY2kxaav8JNN2qriWg=="
/>
</div>
</form>
De plus la totalité des contrôles ASP.NET sont XHTML
compliant ce qui veut dire que le html généré
sur le client sera compatible avec les standard XHTML que vous
avez choisi.
Les standards CSS ne sont pas oubliés et vous allez avoir
4 schémas :
- IE 6.0
- CSS 1.0
- CSS 2.0
- CSS 2.1
