ASP.NETMVCに基づくテストアプリケーションに取り組んでいます。私はCSSに慣れていないので、それも学んでいます。
「new.master」というマスターページを作成し、新しいcss「new.css」を作成しました。私はコントローラーからのビューを次のように呼んでいます:
return View ("About", "new");
私がしていることは、私が頻繁にcssとマスターページを更新しているということです。そのため、アプリケーションをデバッグモードで頻繁に実行します。しばらくすると、cssの変更による影響が見られなくなります。 chromeでソースを表示」してcssを確認すると、古いバージョンが表示されます。
マスターページとcssの両方の名前を変更すると、更新されたビューを受信し始めますが、それはしばらくの間機能し、その後再びCSSの更新を取得しなくなります。この問題に直面したことがありますか?どうすれば修正できますか? (それはひどく迷惑です!)
お使いのブラウザはcssをキャッシュしています。 F5で強制的に更新すると、変更が表示されます。
これはブラウザのキャッシュの問題かもしれないと思います。 in IEおよびFFでは通常Ctrl + F5またはCtrl +更新ボタンを実行します。手動でキャッシュをクリアすることもできます。IEの場合、-を使用できます。 IE Devツールバー そしてFirefoxには Firebug 両方でキャッシュを簡単にクリアできます。クロムについてはよくわかりません。申し訳ありません。
イブラヒム橋見は言った
私はこれが起こり得る別のケースを見つけました。
CSSファイルへのプレーンリンクからアプリケーションを開始し、バンドルの使用に切り替えました。古い<link href="@Url.Content("~/somePath/someStyle.css")" rel="stylesheet" type="text/css" />
を@Styles.Render("~/Styles/bundles/someStyle")
に更新しました。
また、一部のページにのみ必要ないくつかのスタイルシートを使用しており、それらには独自のバンドルがあります。そのうちの1つについて、リンクタグを@ Styles.Renderステートメントに変更するのを忘れました。
その結果、このCSSは時々更新されましたが(したがって、すべて問題ないと考えました。スタイルが欠落していませんでした)、更新がいつ行われるかに影響を与えることはできませんでした。ファイルに変更を加え始めたとき、何もしない(キャッシュを空にする、プロジェクトを再構築する、カッシーニを再起動する)と更新がトリガーされないことに気付きました。ブラウザは常に304 Not modified
。
したがって、これらの症状がある場合は、リンクを確認してください。
Cssがブラウザにキャッシュされている可能性が非常に高いので、ブラウザのキャッシュをクリアするだけで、役立つはずです。
これは、ユーザーが見たい部分ビューに応じて部分ビューをロードするマスタービューがあるときに発生しましたが、このページからの回答が役に立ちました https://forums.asp.net/t/ 1763494.aspx?applying + CSS + layouts + to + a + partial + view
CSSは、Htmlドキュメントので参照する必要があります。結果として、それらを部分ビューに含めることはできません...そのような場合、cssはHtml本体に含まれているためです。部分ビューをホストするページの先頭にスタイルシートを配置してください。
部分ビューにcssリンクがあり、ブラウザーでCtrl-F5を押しても、cssファイルへの変更は発生しません。また、開発ツールでキャッシュの内容をクリアしてみました。ソーススタイルシートを見ると、部分ビューによってリンクされたcssファイルが変更されていないことに気づいたので、修正は、cssリンクを部分ビューからこれらの部分ビューが保持されるメインビューに移動することでした。
私にも似たようなことが起こった。
次に、バンドルがページに追加されたことに突然気づきました。
@Styles.Render("/bundles/classifiedDetailCss")
の代わりに:
@Styles.Render("~/bundles/classifiedDetailCss")
最初の例では、~
文字が欠落していることに注意してください。
(最初の例はプロジェクトのビルド後にのみ機能しました。そうでない場合、デバッグモードでもキャッシュされたバージョンが返されます。)