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-ui
zawierający plik CSS plus /images
folder. Ś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-ui
to 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ą?