【问题标题】:.NET MVC3 How do I get a link to a view to render the CSS?.NET MVC3 如何获得指向视图的链接以呈现 CSS?
【发布时间】:2016-06-04 10:10:04
【问题描述】:

我的样式表在标题中正确引用,并在通过控制器时正确呈现视图的 CSS,例如:

<link rel="stylesheet" href="Content/style/ddlevelsmenu-base.css">
<link rel="stylesheet" href="Content/style/ddlevelsmenu-topbar.css">

但是当我像这样在我的菜单中创建一个超链接时:

<a href="home/index" class="blightblue"> <i class="icon-home"></i> Home</a>

它可以正常打开页面,但不呈现 CSS。

我尝试添加

@RenderSection("styles", false);

我的Index 视图,但它爆炸了。

我正在使用 Visual Studio 2012 和 MVC 3。

【问题讨论】:

  • 你能看到没有CSS的页面内容吗?您是否在此页面上将 Layout 设置为 null ?
  • 我可以通过任何一种方式查看索引页面的内容,但是当控制器调用它时,CSS 会呈现,当布局页面中的超链接调用它时,CSS 不会呈现。我没有在索引页面上将布局设置为 Null。实际上没有“设置”,因为它是一个视图;它只包含 ViewBag Title 语句

标签: .net asp.net-mvc-3 model-view-controller


【解决方案1】:

找到解决方案:感谢 Jeff Widmer 的博客!他引用了 Jeff King 关于站点相对路径的内容,这显然是 VS 2012 的一个问题(我没有检查过这个的更高版本)。 Jeff King 表示,Visual Studio 并不总是知道您网站的最终部署位置(在我的情况下,我正在开发中,所以这就解释了它!)。

无论如何,Jeff Widmer 提供了一个适合我的解决方案。我必须将它应用到我的每个样式表链接(我有大约 5 或 6 个!),但它有效,所以值得!

这是 Jeff 的修复(这也适用于智能感知问题):

<link href="/content/default.css" rel="stylesheet" type="text/css" />
<% if (false) {%>
    <link href="../../content/default.css" rel="stylesheet" type="text/css" />
<% } %>

像魅力一样工作!

这是 Jeff 博客的链接:http://weblogs.asp.net/jeffwids/why-does-visual-studio-not-resolve-my-css-class-names

【讨论】:

  • 更新
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-14
  • 2016-10-27
  • 2012-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多