2012-10-01 4 views
9

Ich versuche, jQueryUI in einer Anfrage zu bündeln.ASP.NET System.Web.Optimization: Bundle jQueryUI CSS

Global.asax:

var cssjQuery = new StyleBundle("~/Content/BundleCSS/jQuery"); 
cssjQuery.IncludeDirectory("~/Content/themes/base", "*.css"); 

Layout:

<link href="@Styles.Url("~/Content/BundleCSS/jQuery")" rel="stylesheet" type="text/css" /> 

Struktur Folder:

  • CSS fi les: Inhalt/Themen/base/* CSS
  • Bilddateien:.. Inhalt/Themen/base/images/* png

Das Problem ist jetzt, dass die Bilder nicht geladen werden kann, weil es kein Ordner „BundleCSS“ ist:

http://localhost:64648/Content/BundleCSS/images/ui-bg_flat_75_ffffff_40x100.png 

Wie kann ich dieses Problem lösen?

Antwort

14

Warum gehst du nicht einfach dein Bündel auf dem Weg Themenverzeichnis definieren:

var cssjQuery = new StyleBundle("~/Content/themes/base/jquery-ui-bundle"); 
cssjQuery.IncludeDirectory("~/Content/themes/base", "*.css"); 

Die relativen Bildpfade funktionieren nach wie vor (wie das Verzeichnis der CSS wird die gleiche bleiben).

Bitte beachten Sie auch, dass der letzte Teil (jquery-ui-bundle) als Dateiname behandelt wird, so dass es beliebig sein kann (solange es nicht mit einer der Dateien übereinstimmt).

+0

Puh ... endlich hat es funktioniert! Verrückt, dass der vom ASP.NET-Team definierte Standard nicht standardmäßig funktioniert, wenn die Anwendung in IIS bereitgestellt wird. Dank bro. –

+0

Denken Sie auch daran, dass der letzte Teil (jquery-ui-bundle) als Dateiname behandelt wird, so dass er beliebig sein kann (solange er nicht mit einer der Dateien übereinstimmt). <- das hat eine Menge Gehirnzellen gerettet –