Мой вопрос аналогичен этому:
За исключением того, что я хочу придерживаться собственного связывания MVC, если могу. У меня случился сбой в мозге, пытаясь выяснить, какой правильный шаблон предназначен для определения пакетов стилей, таких как автономные css и наборы изображений, такие как jQuery UI work.
У меня есть типичная структура сайта MVC с /Content/css/
, которая содержит мой базовый CSS, такой как styles.css
. Внутри этой папки css у меня также есть подпапки, такие как /jquery-ui
, который содержит свой файл CSS плюс папку /images
. Пути изображений в jQuery UI CSS относятся к этой папке, и я не хочу с ними связываться.
Как я понимаю, когда я указываю StyleBundle
, мне нужно указать виртуальный путь, который также не соответствует реальному пути к контенту, потому что (предполагая, что я игнорирую маршруты к Контенту) IIS попытается решить эту проблему путь как физический файл. Поэтому я указываю:
bundles.Add(new StyleBundle("~/Content/styles/jquery-ui")
.Include("~/Content/css/jquery-ui/*.css"));
используя:
@Styles.Render("~/Content/styles/jquery-ui")
Я вижу, как запрос выходит:
http://localhost/MySite/Content/styles/jquery-ui?v=nL_6HPFtzoqrts9nwrtjq0VQFYnhMjY5EopXsK8cxmg1
Это возвращает правильный, уменьшенный ответ CSS. Но затем браузер отправляет запрос относительно относительно связанного изображения как:
http://localhost/MySite/Content/styles/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
Что такое 404
.
Я понимаю, что последняя часть моего URL jquery-ui
- это URL без продолжения, обработчик для моего пакета, поэтому я могу понять, почему относительный запрос для изображения просто /styles/images/
.
Итак, мой вопрос: , что это правильный способ справиться с этой ситуацией?