Подтвердить что ты не робот

CSS не применяется после изменений

У меня проблема, когда я не могу применить стиль в CSS в моем приложении ASP.NET MVC. Это поведение применяется впервые, а затем последующие изменения в 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;
}

Например, я изменил "border" в #SideBar с красного на черный. Но он всегда показывает красный цвет. Я мог бы сделать что-то принципиально неправильное здесь.

_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, я мог бы видеть изменения, которые я сделал.

Пожалуйста, помогите.

Спасибо

4b9b3361

Ответ 1

Нажмите Ctrl-F5 для перезагрузки страницы без использования кэшированного содержимого

Ответ 2

Браузер может кэшировать статические файлы, такие как файлы CSS.

Если вы обновите файл CSS, и это изменение не появится при просмотре, попробуйте использовать CTRL-F5 в своем браузере.

Ответ 3

Это будет работать, когда ничего другого не будет, как в моем случае:

Кредит: atticae

Вы можете добавить случайный параметр запроса к URL-адресу таблицы стилей (например, с помощью javascript или кода на стороне сервера). Он не будет изменять загружаемый файл css, но это предотвратит кеширование, поскольку браузер обнаруживает другой URL-адрес и не загружает кэшированную таблицу стилей.

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

Ответ 4

К сожалению, Ctrl + F5 не работает для меня. Мне нужно перейти в Chrome: F12 → вкладка Сеть → щелкните правой кнопкой мыши в белой области, где все записи получения и публикации → Очистить кеш браузера. Теперь, если вы нажмете Ctrl + F5 или просто F5, он должен работать.

Ответ 5

В моем случае проблема была в том, что у меня был файл стиля ресурса, который ссылался на код

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)?

На моем анализе я обнаружил, что причина была -

остановите отладку, перестройте решение и запустите его снова, чтобы все стили веб-ресурсов загружались снова, просто очистка кэша, как мы обычно делаем для любого изменения html, не поможет, после этого мое изменение стиля отразилось на веб-страница, и это решило мою проблему.

Ответ 6

CTRL + F5 кажется лучшим решением