Neue Option "Semantisches HTML5-Markup verwenden" unter Datei> Neues MVC 3-Projekt

68

Vor einigen Tagen habe ich das ASP.NET MVC 3 Tools Update für Visual Studio 2010 installiert .

Gerade habe ich eine neue ASP.NET MVC 3-Anwendung erstellt und sehe, dass es eine neue Option im New ASP.NET MVC 3 ProjectDialogfeld gibt:

Verwenden Sie das semantische HTML5-Markup

Was ändert das Aktivieren dieses Kontrollkästchens in der neu erstellten App im Vergleich zum Nicht-Aktivieren, außer dem buchstäblich offensichtlichen?
Wann möchten Sie es definitiv nicht verwenden, nur um die Kompatibilität mit alten Browsern zu gewährleisten?

Sergi Papaseit
quelle

Antworten:

56

Schau dir das an _Layout.cshtml. Sie werden HTML5-Tags wie <header>und bemerken <section>. Es enthält auch das modernizrJavascript-Plugin für das Projekt.

Wann möchten Sie es definitiv nicht verwenden, nur um die Kompatibilität mit alten Browsern zu gewährleisten?

Wenn Sie keine HTML5-spezifischen Tags verwenden möchten. Wie auch immer, es ist nur ein Kontrollkästchen, das eine Reihe von Standard-Markups generiert, die Sie jederzeit ändern können, wenn Sie möchten. Sie beschäftigen sich also nicht mit etwas, das später nicht mehr rückgängig gemacht werden kann. Wenn Sie ein neues Projekt starten, überprüfen Sie es :-)

Darin Dimitrov
quelle
40

Die Antwort hängt etwas davon ab, welche Projektvorlage Sie auswählen. (Leer, Internetanwendung oder Intranetanwendung)

Wenn Sie Leer auswählen , fügt das Kontrollkästchen dem <head>Abschnitt in Ihrer _Layout.cshtml die folgenden zwei Zeilen hinzu.

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

Wenn Sie Internet oder Intranet- Anwendung auswählen , werden zusätzlich zu den beiden obigen Zeilen in Ihrem unten gezeigten _Layout.cshtml-Markup semantische HTML5-Markup-Tags anstelle von divs angezeigt:

HTML5 Box Checked vs. Not Checked

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

Ich sehe keinen Grund, es nicht zu überprüfen, aber es spielt keine Rolle. Wie von Darin erwähnt, dient der Kontrollkästchenwert nur dazu, zu bestimmen, welches Markup für Sie generiert wird. Der Wert wird nicht in Ihrem Projekt gespeichert.

Weitere Informationen finden Sie in Scott Gu's Blog-Beitrag: HTML5-Verbesserungen mit dem ASP.NET MVC 3 Tools Update

James Lawruk
quelle
1

Das Kontrollkästchen schreibt die Einbeziehung von Modernizr in Ihre Ansichten vor. Ich glaube nicht, dass es etwas anderes gibt, als wenn es nicht aktiviert ist.

Kris Ivanov
quelle
2
Es ändert auch das Standard-Markup von Dingen wie <div id = 'header'> in <header>
Russ Clarke