Url.Content () не работает на сложных URL
я имеюUrl.Content()
фрагменты везде в моих взглядах. Они отлично работают на страницах с простым URL, но не тогда, когда URL становится длиннее.
Вот'Образец:
<img src="@Url.Content(" ~="" content="" images="" logo.png")"="" id="logo">
Это прекрасно работает, когда яна главной странице или на странице с URLlocalhost:8080/s/chocolate
(который показывает результат для "шоколад" поиск.
Но когда яЯ пытаюсь добавить некоторые уточнения, например,localhost:8080/s/chocolate/b/lindt
(что означает отфильтровать предыдущие результаты только от бренда Lindt), это небольше не работает. В этом случае,Url.Content
указывает на/s/chocolate/Content/Images/logo.png
, что, очевидно, не удается.
Это'как будтоUrl.Content
только идет на 2 уровня вверх по текущему местоположению вместо использования реального корня веб-приложения. Я предполагаю, что в соглашении есть смысл, что URL-адреса имеют видхост / контроллер / действие, но здесь у меня есть более сложная схема URL (я использую модуль перезаписи URL, чтобы сопоставить эти фрагменты URL с действием 'параметры).
Есть ли какой-нибудь способ сказать помощнику перейти к реальному корню или любое другое решение этой проблемы?
(Кстати, ям с использованием MVC 4)
РЕДАКТИРОВАТЬ: Как ответил Фелипе, яЯ только что обнаружил, что Url.Content больше не нужен в MVC 4. Это работает для всех "дизайн" изображения с постоянным путем. Тем не менее, я использую много изображений, где путь построен частично с некоторыми данными, например,<img src="@Url.Content(string.Format(" ~="" content="" images="" stores="" {0}.png",="" cart.store.retailer.id))"="">
Я просто удалил Url.content, как таковой:
<img src="@string.Format(" ~="" content="" images="" stores="" {0}.png",="" model.preferedcart.store.retailer.id)"="">
При рендеринге это дает следующий источник:~/Content/Images/stores_v2/Fr_SimplyMarket.png
,~
Находясь здесь, изображение не найдено. Как я могу это исправить?