【问题标题】:Standard MVC4 project's Site.css does not contain definition for display-label, editor-label, editor-field标准 MVC4 项目的 Site.css 不包含 display-label、editor-label、editor-field 的定义
【发布时间】:2013-05-27 19:10:38
【问题描述】:

我在 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 文件的日期为 2/19/2013 12:36,大小为 13.944 字节。你的电脑有什么不同吗?

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

【问题讨论】:

  • 我刚刚从 VS 2012 创建了一个全新的 MVC 4 应用程序,其中包含所有 css。你选择了哪个模板? (空/基本/互联网应用程序)。我也有 VS2012 的更新 2 不确定它是否重要。
  • 我创建了一个 ASP.NET MVC4 Web 应用程序,然后选择了 Internet 应用程序,我正在使用 Razor 视图引擎。我也尝试过 ASPX 视图引擎,但没有锁定。你是说你的 Site.css doesdisplay-label 的定义吗?

标签: css asp.net-mvc-4


【解决方案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 中没有提到这件事。

【讨论】:

  • 令我困惑的是,Jay sais(在他对我的帖子的评论中)说,当他创建一个新的 MVC4 应用程序时,它确实拥有所有的 css。
  • 我觉得我不相信他。我的项目模板没有这些样式,谷歌搜索表明这对于从 mvc3 迁移到 mvc4 的人来说是一个普遍的惊喜。
猜你喜欢
  • 2012-07-02
  • 2012-03-23
  • 2020-11-09
  • 2014-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-21
相关资源
最近更新 更多