web-dev-qa-db-fra.com

Nouvelle option "Utiliser le balisage sémantique HTML5" sur Fichier> Nouveau projet MVC 3

Il y a quelques jours, j'ai installé le Mise à jour des outils ASP.NET MVC pour Visual Studio 2010.

Je viens de créer une nouvelle application ASP.NET MVC 3 et je vois qu'il y a une nouvelle option sur le New ASP.NET MVC 3 Project boîte de dialogue:

utiliser le balisage sémantique HTML5

En quoi la sélection de cette case à cocher change-t-elle dans l'application nouvellement créée par rapport à la non-sélection, à part ce qui est littéralement évident?
Quand voudriez-vous certainement ne pas vouloir l'utiliser, uniquement pour conserver la compatibilité avec les anciens navigateurs?

68
Sergi Papaseit

Regarde le _Layout.cshtml. Vous remarquerez des balises HTML5 telles que <header> et <section>. Il inclut également le plugin javascript modernizr du projet.

Quand ne voudriez-vous certainement pas l'utiliser, uniquement pour conserver la compatibilité avec les anciens navigateurs?

Si vous ne souhaitez pas utiliser de balises spécifiques HTML5. Quoi qu'il en soit, c'est juste une case à cocher générant un tas de balisage par défaut que vous pouvez modifier à tout moment si vous le souhaitez. Vous ne vous engagez donc pas avec quelque chose qui ne peut pas être annulé par la suite. Si vous démarrez un nouveau projet, allez-y et vérifiez-le :-)

56
Darin Dimitrov

La réponse dépend quelque peu du modèle de projet que vous sélectionnez. (Application vide, Internet ou Intranet)

Si vous sélectionnez Vide , la case à cocher ajoute les deux lignes suivantes au <head> section dans votre _Layout.cshtml.

<meta charset="utf-8" />
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")"
    type="text/javascript"></script>

Si vous sélectionnez Internet ou Intranet Application, alors en plus des deux lignes ci-dessus, vous verrez des balises de balisage sémantique HTML5 au lieu de divs dans votre balisage _Layout.cshtml illustré ci-dessous:

HTML5 Box Checked vs. Not Checked

<header>              <div id="header">
<nav>                 <div id="menucontainer">
<section id="main">   <div id="main">
<footer>              <div id="footer">

Je ne vois aucune raison de ne pas le vérifier, mais cela n'a pas vraiment d'importance. Comme mentionné par Darin, la valeur de la case à cocher sert uniquement à déterminer le balisage généré pour vous. La valeur n'est pas stockée dans votre projet.

Vous pouvez en savoir plus dans le blog de Scott Gu: Améliorations HTML5 avec la mise à jour des outils ASP.NET MVC

40
James Lawruk

La case à cocher dicte l'inclusion de Modernizr dans vos vues, je ne pense pas qu'il y ait autre chose que si elle n'est pas cochée.

1
Kris Ivanov