Asp.net mvc CSS文件仅在通过ASP.NET MVC控制器获取时加载到IE中+;行动

Asp.net mvc CSS文件仅在通过ASP.NET MVC控制器获取时加载到IE中+;行动,asp.net-mvc,css,Asp.net Mvc,Css,我通过ASP.NETMVC的控制器+操作提供网站的CSS内容。css“文件”似乎能够正确地传递信息,但只有IE才会应用它。其他浏览器(Firefox、Opera、Chrome)忽略CSS文件,呈现页面时不使用样式。IE8工作得很好 这是我用来通过控制器和操作返回CSS的基本代码: public void CSS(string version) { string cssFile = Server.MapPath("/site.css"); string cssContents = Syst

我通过ASP.NETMVC的控制器+操作提供网站的CSS内容。css“文件”似乎能够正确地传递信息,但只有IE才会应用它。其他浏览器(Firefox、Opera、Chrome)忽略CSS文件,呈现页面时不使用样式。IE8工作得很好

这是我用来通过控制器和操作返回CSS的基本代码:

public void CSS(string version)
{
  string cssFile = Server.MapPath("/site.css");
  string cssContents = System.IO.File.ReadAllText(cssFile);
  Response.Write(cssContents);
}
请注意,版本可以是任何字符串。我尝试过使用诸如“myversion.css”、“1.css”、“1234”、“任意”等字符串


所有浏览器都可以在IE8中使用,但不能在任何其他浏览器中使用。有什么想法吗?

您必须发送正确的
内容类型:text/css
标题


否则Firefox将忽略样式表,并在其错误控制台中输出警告。其他基于Gecko/Webkit的浏览器可能也是如此。

这是其中一种情况,在我输入问题并思考如何表达它,然后发布它之后,我突然想到了答案。当我回到这里时,佩卡正确地回答了这个问题。如果有人感兴趣,这里有一些解决问题的代码:

string fileLocation = Request.PhysicalApplicationPath + @"site.css";
ContentResult fcr = new ContentResult();
fcr.Content = System.IO.File.ReadAllText(fileLocation);
fcr.ContentType = "text/css";
return fcr;