我的视图模型没有使用CSS

时间:2012-12-08 16:50:48

标签: asp.net-mvc asp.net-mvc-4

我在Index.cshtml文件中有这个代码:

    @{ViewBag.Title = "Home";}
<link href="Home.css" rel="stylesheet" type="text/css"/>
<img id="logo" src="~/Content/Images/Logo.png" />

此文件是我的ASP.NET MVC4应用程序中的视图。

当我运行Web应用程序时,我可以看到源代码在其周围添加了相应的HTML,并且还添加了对&#39; Content \ Site.css&#39;的引用。文件。

但是,在运行应用程序时,Site.css文件和我自己的Home.css CSS文件似乎都没有使用。首先,当我在运行应用程序时查看源代码时,我对Site.css所做的任何编辑都没有反映出来,这很奇怪。我已经保存了所有内容并在运行之前构建了项目,并通过浏览器检查了源代码。

其次,Home.css的CSS链接(与我的视图位于同一文件夹中)似乎没有被使用。 HTML编辑器没有文件问题,因此表明路径有效 - 但是当我在浏览器的源代码编辑器中单击Home.css时,我收到404错误,说该文件不存在。

我在这里做错了什么?

我在这里使用的实际图像正确加载。

3 个答案:

答案 0 :(得分:1)

  

Home.css的CSS链接(位于同一文件夹中)   我的观点似乎没有被使用。

Views文件夹受限于从客户端直接访问。所以你不应该在里面放任何CSS,javascript或图像文件。它们应驻留在您的~/Content文件夹(或可从客户端访问的其他文件夹)中。然后像这样引用它:

<link href="~/Content/Home.css" rel="stylesheet" type="text/css"/>

就您关于~/Content/Site.css的第一个问题而言,浏览器可能会缓存样式表。尝试清除缓存。如果您在发布模式下运行应用程序并启用了Bundles,ASP.NET MVC 4将自动发出缓存响应标头,以便捆绑包中包含的静态资源在浏览器中缓存。

答案 1 :(得分:1)

您还可以使用@url.content()辅助方法将您的相对路径转换为绝对路径。当你实现具有多个领域的网站时,这是非常有用的,并且它是设置MVC内容路径的常见方式,所以最好这样做

答案 2 :(得分:0)

css属于头 - 我不能忍受.net

它也不需要关闭/&gt;在标签的末尾 - 它搞砸了。适当的XHTML,但不是每个人都理解它。取消链接标记,然后尝试...