更改后未应用CSS

时间:2011-06-10 07:04:01

标签: asp.net asp.net-mvc asp.net-mvc-2 asp.net-mvc-3

我有问题,我无法在我的ASP.NET MVC应用程序中应用CSS中的样式。 行为是它第一次适用,然后CSS的后续更改没有反映在我的_Layout.cshtml中。我不确定我在这里缺少什么。

CSS文件

body
{
    font-size: .85em;
    font-family: "Trebuchet MS", Verdana, Helvetica, Sans-Serif;
    color: #232323;
    background-color: #fff;
}

header,
footer,
nav,
section {
    display: block;
}

/* Styles for basic forms
-----------------------------------------------------------*/

fieldset 
{
    border:1px solid #ddd;
    padding:0 1.4em 1.4em 1.4em;
    margin:0 0 1.5em 0;
}

legend 
{
    font-size:1.2em;
    font-weight: bold;
}

textarea 
{
    min-height: 75px;
}

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

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


/* Styles for validation helpers
-----------------------------------------------------------*/
.field-validation-error
{
    color: #ff0000;
}

.field-validation-valid
{
    display: none;
}

.input-validation-error
{
    border: 1px solid #ff0000;
    background-color: #ffeeee;
}

.validation-summary-errors
{
    font-weight: bold;
    color: #ff0000;
}

.validation-summary-valid
{
    display: none;
}
#Header
{
    color:white;
    padding:1px;
}
#Content
{
    float:left;
    margin:10px;
}
#SideBar
{
    float :left;
    margin:10px;
    padding :10px;
    border:  dotted 1px  red;
    width:180px;
    font-style:italic;
}
#Footer
{
    text-align:center;
    clear:both;
}

例如,我将#SideBar中的“border”从红色变为黑色。但它总是显示红色。我可能在这里做了一些根本错误的事情。

_Layout.cshtml

<!DOCTYPE html>
<html>
<head>
    <title>@ViewBag.Title</title>
       <!--link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />-->
      <link href="@Url.Content("~/Content/SiteStyle.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
</head>

<body>
   <div id="Header" style="background-image: url('/Content/Images/Banner_Final3.png'); background-repeat:no-repeat; width :1500px; height : 150px;"   >

   </div>
   <div id="SideBar">
       @Html.Partial("UserControls/UserLogin", new AlanBeezLab.Models.LoginModel())
   </div>
   <div id="Content">
        @RenderBody()
   </div>
   <div id="Footer">
        <p>Copyright &copy; XXXXXXX</p>
   </div>
</body>
</html>

但是,如果重命名物理文件并更改_Layout.cshtml中的引用,我可以看到我所做的更改。

请帮忙。

由于

5 个答案:

答案 0 :(得分:78)

按Ctrl-F5重新加载页面,而不使用缓存内容

答案 1 :(得分:11)

浏览器可以缓存CSS文件等静态文件。

如果您更新CSS文件并且浏览时未显示更改,请尝试在浏览器中使用CTRL-F5。

答案 2 :(得分:1)

当其他任何事情都不会时,这将会起作用,就像我的情况一样:

信用证转到:atticae

您可以将随机查询参数附加到样式表网址(例如,通过javascript或服务器端代码)。它不会更改正在加载的css文件,但会阻止缓存,因为浏览器会检测到不同的URL并且不会加载缓存的样式表。

<link rel="stylesheet" type="text/css" href="http://mysite/style.css?id=1234">

答案 3 :(得分:0)

不幸的是,ctrl + f5对我不起作用。我必须转到Chrome:F12->“网络”标签->在所有获取和发布记录均位于的白色区域内右键单击->清除浏览器缓存。现在,如果您按Ctrl + F5或仅按F5,它应该可以工作。

答案 4 :(得分:0)

在我的情况下,问题是我有一个资源样式文件,该文件被代码引用

string location = Page.ClientScript.GetWebResourceUrl(typeof(PageBase), "MyNS.Common.Web.Base.CommonStyle.css");
LiteralControl include = new LiteralControl(string.Format(tempLink, location));

当我更改/在文件中添加某些样式时,它没有反映在 CommonStyle.css 中 即使清除了缓存(ctrl + f5,ctrl + shift + f5)也没有反映在网页上?

经我分析,发现原因是-

  

停止调试,重新生成解决方案,然后再次运行,以便所有   Web资源样式再次加载,只需将缓存清除为   我们通常对任何html更改都没有帮助,这样做之后   样式的变化反映在网页上,解决了我的问题。