2016-05-24 3 views
2

Verwendung BundleConfig.csWie Bildweg korrekt in Rasierer zu machen, wenn Bündelkonfiguration

public static void RegisterBundles(BundleCollection bundles) 
    { 
     bundles.Add(new StyleBundle("~/bundles/css").Include(
        "~/content/themes/base/jquery.ui.core.css", 
        "~/content/themes/base/jquery.ui.theme.css" 
    } 

_Layout.cshtml

@Styles.Render("~/bundles/css") 

jquery.ui.theme.css Schnipsel Schnipsel Schnipsel

url(images/ui-bg_flat_75_ffffff_40x100.png) 

Firebug meldet, dass das Bild (my_app_path) /bundles/images/ ui-bg_flat_75_ffffff_40x100.png` 404 nicht gefunden wurde.

Wie kann ich Razor sagen, dass der richtige Pfad ist eigentlich (my_app_path) /content/themes/base/images/ ui-bg_flat_75_ffffff_40x100.png`?

EDIT: ELMAH spuckt diesen Fehler für die gleiche Frage:

System.Web.HttpException: Die Steuerung für den Pfad '/Bündel/ images/ ui-bg_flat_75_ffffff_40x100.png' war nicht gefunden oder nicht implementieren IController.

Antwort

-1

Dies passiert, weil Ihre CSS-Dateien nicht neu geschrieben werden, um ihre relativen Pfade zu transformieren. Sie können dies geschehen, indem Sie zu den folgenden ändern:

bundles.Add(new StyleBundle("~/bundles/css").Include(
       "~/content/themes/base/jquery.ui.core.css", 
       "~/content/themes/base/jquery.ui.theme.css", 
       new CssRewriteUrlTransform())); 
+0

Ich bin mir sicher, dass dies funktioniert, aber aus irgendeinem Grund scheint es wie ein Workaround. Ich könnte falsch liegen, aber ich hatte gehofft, eine Lösung zu bekommen, ohne die CSS-Datei bearbeiten oder Dateien verschieben zu müssen. – joym8

+0

In der Tat. Gefunden eine bessere Lösung [http://stackoverflow.com/a/11386982/163495] und die Antwort aktualisiert, um das zu reflektieren. – Richard

+0

in [that link] (http://Stackoverflow.com/a/11386982/163495) gibt es auch einen Kommentar von Avidenic, dass dies nur für Websites in IIS und nicht für Anwendungen unter der Website funktioniert. meins ist eine Anwendung. trotzdem habe ich es versucht. einige Dinge - benötigt, um system.web.optimization von 1.0.0 auf die neueste Version zu aktualisieren, um CssRewriteUrlTransform aufzulösen. und jetzt bekomme ich 'kann nicht CssRewriteUrlTransform in String' Build-Fehler zu konvertieren. Ich habe gerade eine völlig andere Route genommen - zwei Bündel anstatt eines hinzugefügt - und diese basierend auf den Verzeichnissen getrennt. – joym8

Verwandte Themen