文件 > 新建MVC 3项目中新增“使用HTML5语义标记”选项

68

几天前我安装了 ASP.NET MVC 3 Tools Update for Visual Studio 2010。

现在,我想创建一个新的 ASP.NET MVC 3 应用程序,并且发现在 New ASP.NET MVC 3 Project 对话框中有一个新选项:

使用 HTML5 语义标记

除了显而易见的字面意义之外,选择此复选框在新创建的应用程序中会有什么变化?
在什么情况下您绝对不想使用它,只想保持与旧浏览器的兼容性?

3个回答

56
请看一下_Layout.cshtml文件。您会注意到HTML5标签,例如<header><section>。它还将modernizr JavaScript插件添加到项目中。

只有在需要与旧版浏览器兼容时才不想使用它吗?

如果您不想使用HTML5特定的标签,那么就不需要使用它了。无论如何,它只是一个生成一堆默认标记的复选框,您可以随时进行修改。因此,您不必担心做出不可逆转的决定。如果您正在启动新项目,请勾选它 :-)

40

答案在于您选择的项目模板。(空白、互联网应用或内部网应用)

如果您选择了空白,该复选框将在_Layout.cshtml中的<head>节添加以下两行。

<meta charset="utf-8" />
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")"
    type="text/javascript"></script>
如果您选择InternetIntranet应用程序,则除了上面的两行之外,您将在下面显示的_Layout.cshtml标记中看到HTML5语义化标记而不是DIV标记:
HTML5 Box Checked vs. Not Checked

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

我认为检查它没有任何问题,但这并不重要。正如Darin所提到的那样,复选框的值仅用于确定为您生成哪个标记。该值未存储在您的项目中。

您可以在Scott Gu的博客文章中阅读更多信息:使用ASP.NET MVC 3工具更新的HTML5改进


1

复选框决定了在视图中是否包含Modernizr,我认为除了不勾选时没有其他不同。


2
它还将默认的标记语言从诸如<div id='header'>更改为<header>。 - Russ Clarke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接