标准MVC4项目的Site.css不包含display-label,editor-label,editor-field的定义

时间:2013-05-27 19:10:38

标签: css asp.net-mvc-4

我在VS2012(Premium,Update 2)中创建了一个新项目/解决方案,然后选择ASP.NET MVC 4 Web Application模板。在Content文件夹中创建的Site.css不包含display-labeleditor-labeleditor-field等的定义。但是当我让VS2012创建一个新视图时,它会创建一个使用这些类的视图。

这是正常行为吗?或者我的VS2012安装有问题吗?

如果我创建新的ASP.NET MVC 3 Web Application,则Site.css 包含定义。

我相信新项目内容来自C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplates\CSharp\Web\1033\MvcWebApplicationProjectTemplatev4.1.cshtml\Content。我计算机上该文件夹中的Site.css文件日期为2013年2月19日12:36,大小为13.944字节。你的电脑有什么不同吗?

我发现this question似乎相似,但在那种情况下,来自MVC3应用程序的代码已迁移到MVC4。在我的情况下,我只是创建了一个开箱即用的新MVC4应用程序。

1 个答案:

答案 0 :(得分:1)

这可能不是一个特别有帮助的答案,但看起来您所看到的是预期的行为。我刚刚在MVC3和MVC4中创建了VS2010和VS2012中的项目,看起来这些类的样式已经从MVC4中删除了,可能是因为它们的初始样式就是这样:

.display-label, 
.editor-label {
    margin: 1em 0 0 0;
}

.display-field, 
.editor-field {
    margin: 0.5em 0 0 0;
}

将没有样式的类自动添加到这些元素中并没有什么坏处,但它确实提供了一个默认钩子,供您应用自己的样式,这可能是他们离开它们的原因。

可悲的是,这并不是release notes for ASP.NET MVC 4中提到的。