Moje pytanie jest podobne do tego:
Tyle że chcę pozostać przy własnym pakiecie MVC, jeśli mogę. Mam awarię mózgu, próbując dowiedzieć się, jaki jest prawidłowy wzorzec określania pakietów stylów, takich jak samodzielne zestawy css i zestawy obrazów, takie jak interfejs użytkownika jQuery.
Mam typową strukturę witryny MVC, /Content/css/która zawiera mój podstawowy CSS, taki jak styles.css. W tym folderze css mam również podfoldery, takie jak /jquery-uizawierający plik CSS plus /imagesfolder. Ścieżki obrazów w CSS interfejsu jQuery są względne w stosunku do tego folderu i nie chcę z nimi zadzierać.
Jak rozumiem, kiedy określam StyleBundle, muszę podać ścieżkę wirtualną, która nie pasuje również do prawdziwej ścieżki treści, ponieważ (zakładając, że ignoruję trasy do Treści) IIS spróbuje następnie rozwiązać tę ścieżkę jako plik fizyczny. Więc określam:
bundles.Add(new StyleBundle("~/Content/styles/jquery-ui")
.Include("~/Content/css/jquery-ui/*.css"));
renderowane przy użyciu:
@Styles.Render("~/Content/styles/jquery-ui")
Widzę prośbę wychodzącą na:
http://localhost/MySite/Content/styles/jquery-ui?v=nL_6HPFtzoqrts9nwrtjq0VQFYnhMjY5EopXsK8cxmg1
To zwraca poprawną, zminimalizowaną odpowiedź CSS. Ale potem przeglądarka wysyła żądanie względnie połączonego obrazu jako:
http://localhost/MySite/Content/styles/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
Co jest 404.
Rozumiem, że ostatnia część mojego adresu URL jquery-uito adres URL bez rozszerzenia, moduł obsługi mojego pakietu, więc mogę zrozumieć, dlaczego względne żądanie obrazu jest po prostu /styles/images/.
Więc moje pytanie brzmi: jaki jest właściwy sposób radzenia sobie z tą sytuacją?