ホームページ > ウェブフロントエンド > CSSチュートリアル > MVC4 StyleBundle を使用すると画像が壊れるのはなぜですか?

MVC4 StyleBundle を使用すると画像が壊れるのはなぜですか?

Patricia Arquette
リリース: 2024-12-13 02:01:09
オリジナル
336 人が閲覧しました

Why Are My Images Broken When Using MVC4 StyleBundles?

MVC4 StyleBundle による画像の問題の解決

MVC の StyleBundle を使用して、サブフォルダー内の CSS ファイルと外部画像参照を結合するときに問題が発生します。物理コンテンツ パスに対応しない仮想パスを使用してバンドルを定義すると、CSS ファイル内の相対画像パスが壊れます。

解決策

正しいアプローチ結合するソース ファイルと同じパスにバンドルを定義することです。例:

bundles.Add(new StyleBundle("~/Content/css/jquery-ui/bundle")
                    .Include("~/Content/css/jquery-ui/*.css"));
ログイン後にコピー

ソース CSS ファイルと同じパスにバンドルを定義することで、画像の相対パスは有効なままになります。これは、バンドル パスの最後の部分がバンドルされた CSS ファイルのファイル名として効果的に機能するためです。

代替ソリューション

Hao Kung が提案した代替アプローチCssRewriteUrlTransformation を使用して、バンドルされた CSS 内の画像参照を書き換えます。 file:

bundles.Add(new StyleBundle("~/Content/css/jquery-ui/bundle")
                    .Include("~/Content/css/jquery-ui/*.css",
                     new CssRewriteUrlTransform()));
ログイン後にコピー

この変換により、バンドル後に画像の相対パスが正しい場所を指すように自動的に変更されます。

CssRewriteUrlTransformation を使用する場合は、仮想ディレクトリ内の絶対パスの書き換えに関する潜在的な問題に注意することが重要です。この動作は、すべてのシナリオに適しているわけではありません。

以上がMVC4 StyleBundle を使用すると画像が壊れるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート