Ответ 1
Ваш браузер кэширует css. Если вы принудительно обновите с помощью F5, который должен отображать любые изменения.
Я работаю над тестовым приложением на основе ASP.NET MVC. Я новичок в CSS-материалах, поэтому я также изучаю это.
Я создал главную страницу под названием "new.master" и создал новый css "new.css". Я вызываю представление от контроллера как:
return View ("About", "new");
Что я делаю, так это то, что я часто обновляю страницу css и master. Поэтому я часто запускаю приложение в режиме отладки. Через некоторое время я перестаю видеть эффект изменений в css. Когда я "рассматриваю исходный код" в chrome и проверяю css, он показывает старую версию.
Когда я меняю имя как главной страницы, так и css, я начинаю получать обновленные представления, но это работает некоторое время, а затем снова перестаю получать обновления CSS. Вы столкнулись с этой проблемой? Как я могу это исправить? (Его ужасно раздражает!)
Ваш браузер кэширует css. Если вы принудительно обновите с помощью F5, который должен отображать любые изменения.
Я думаю, что это может быть проблема с кешем браузера. В IE и FF я обычно делаю Ctrl + F5 или Ctrl + Refresh. Также вы можете вручную очистить кеш. Для IE вы можете использовать IE Dev Toolbar, а для Firefox есть Firebug, вы можете легко очистить кеш. Не уверен насчет хром, извините.
Сказал Ибрагим Хашими
Моя книга: Внутри Microsoft Build Engine: использование MSBuild и Team Foundation Build
Очень возможно, что css кэшируется в вашем браузере, поэтому просто очистите кеш браузера, он должен помочь
Я нашел другой случай, когда это может произойти.
Мы начали наше приложение с простых ссылок на файлы CSS, а затем переключились на использование пакета. Мы обновили старый <link href="@Url.Content("~/somePath/someStyle.css")" rel="stylesheet" type="text/css" />
до @Styles.Render("~/Styles/bundles/someStyle")
.
Мы также используем несколько таблиц стилей, которые нужны только для некоторых страниц, и у них есть собственный набор. Теперь для одного из них мы забыли изменить тег ссылки на оператор @Styles.Render.
В результате этот CSS обновлялся сейчас и тогда (поэтому мы думали, что все в порядке, стиль не был пропущен), но мы не могли повлиять, когда произойдет обновление. Когда я начал вносить изменения в файл, я понял, что ничего, что я делаю (освобождение кеша, восстановление проекта, перезапуск Cassini), вызовет обновление. Браузер всегда получил 304 Not modified
.
Итак, если у вас есть эти симптомы, проверьте свои ссылки.
У меня было что-то подобное со мной.
Затем неожиданно заметил, что на страницу был добавлен пакет:
@Styles.Render("/bundles/classifiedDetailCss")
вместо:
@Styles.Render("~/bundles/classifiedDetailCss")
Обратите внимание на отсутствующий символ ~
в первом примере.
(Первый пример работал только после создания проекта, иначе он вернул бы кешированную версию даже в режиме отладки.)
Это произошло со мной, когда у меня было представление мастера, которое загружало бы частичные представления в зависимости от того, какой частичный вид пользователь хотел увидеть, но ответ с этой страницы помог https://forums.asp.net/t/1763494.aspx?applying+CSS+layouts+to+a+partial+view
CSS должен быть указан в документе Html. Как следствие, вы не можете включить их в частичное представление... потому что в в таком случае css включен в тело Html. Пожалуйста, используйте стиль лист в верхней части страницы, на которой размещен частичный вид.
У меня были бы ссылки css в моих частичных представлениях, и никаких изменений в css файлах никогда не произойдет, даже если бы я нажал Ctrl-F5 в браузере. Я также попытался очистить содержимое кеша в инструментах разработчика. Я заметил, просмотрев исходные таблицы стилей, которые файлы css, связанные с частичными представлениями, не менялись, поэтому для меня было необходимо переместить css-ссылки из частичного представления в основное представление, где должны были содержаться эти частичные представления.