Maison >interface Web >tutoriel CSS >Pourquoi mes images ne se chargent-elles pas dans les bundles de style MVC4 ?
MVC4 StyleBundle ne résout pas les images
Problème :
Les projets MVC4 incluent un système de regroupement qui minimise et combine les fichiers CSS pour améliorer les performances. Cependant, lorsque vous utilisez StyleBundles pour inclure des références d'images provenant de sources externes telles que jQuery UI, le navigateur peut ne pas charger les images, ce qui entraîne des erreurs 404.
Solution :
Selon une discussion sur le regroupement CSS MVC4, deux approches sont disponibles pour résoudre ce problème. problème :
Utilisation des chemins de bundle avec les chemins sources
Créez un StyleBundle avec le même chemin que les fichiers CSS sources, tels que :
bundles.Add(new StyleBundle("~/Content/css/jquery-ui/bundle") .Include("~/Content/css/jquery-ui/*.css"));
En définissant le chemin du bundle comme dossier source, les chemins relatifs des images dans les fichiers CSS seront toujours reconnu.
Utilisation de CssRewriteUrlTransformation
Vous pouvez également appliquer une CssRewriteUrlTransformation au StyleBundle. Cette transformation réécrit les références d'URL relatives aux fichiers CSS en chemins absolus au sein du bundle, garantissant ainsi que les images sont chargées correctement.
bundles.Add(new StyleBundle("~/Content/css/jquery-ui/bundle") .Include("~/Content/css/jquery-ui/*.css", new CssRewriteUrlTransform()));
Notez que la réécriture en chemins absolus dans un répertoire virtuel peut entraîner des problèmes. Veuillez vérifier que cette approche fonctionne comme prévu dans votre environnement spécifique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!