几天前我安装了 ASP.NET MVC 3 Tools Update for Visual Studio 2010。
现在,我想创建一个新的 ASP.NET MVC 3 应用程序,并且发现在 New ASP.NET MVC 3 Project
对话框中有一个新选项:
使用 HTML5 语义标记
除了显而易见的字面意义之外,选择此复选框在新创建的应用程序中会有什么变化?
在什么情况下您绝对不想使用它,只想保持与旧浏览器的兼容性?
几天前我安装了 ASP.NET MVC 3 Tools Update for Visual Studio 2010。
现在,我想创建一个新的 ASP.NET MVC 3 应用程序,并且发现在 New ASP.NET MVC 3 Project
对话框中有一个新选项:
使用 HTML5 语义标记
除了显而易见的字面意义之外,选择此复选框在新创建的应用程序中会有什么变化?
在什么情况下您绝对不想使用它,只想保持与旧浏览器的兼容性?
_Layout.cshtml
文件。您会注意到HTML5标签,例如<header>
和<section>
。它还将modernizr
JavaScript插件添加到项目中。
如果您不想使用HTML5特定的标签,那么就不需要使用它了。无论如何,它只是一个生成一堆默认标记的复选框,您可以随时进行修改。因此,您不必担心做出不可逆转的决定。如果您正在启动新项目,请勾选它 :-)只有在需要与旧版浏览器兼容时才不想使用它吗?
答案在于您选择的项目模板。(空白、互联网应用或内部网应用)
如果您选择了空白,该复选框将在_Layout.cshtml中的<head>
节添加以下两行。
<meta charset="utf-8" />
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")"
type="text/javascript"></script>
如果您选择Internet或Intranet应用程序,则除了上面的两行之外,您将在下面显示的_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改进
复选框决定了在视图中是否包含Modernizr,我认为除了不勾选时没有其他不同。