MVC 3 ищет неправильное место для изображений - PullRequest
2 голосов
/ 02 августа 2011

У меня есть приложение MVC 3, и в некоторых файлах .cshtml я возвращаю изображения. Проблема в том, что когда я запускаю это с использованием IIS, сервер ищет неправильное место для образа. (проблема возникает только с «настоящим» IIS, а не с IIS Express и не с Cassini)

Результат: если я использую IIS, я получаю заполнители изображений вместо своих изображений. Если я использую IIS Express или Cassini, у меня нет проблем.

Я использовал Process Monitor, чтобы определить, где сервер искал образ, и он, похоже, игнорирует настройки виртуального каталога (поэтому он ищет изображение в wwwRoot, а не в виртуальном каталоге моего приложения)

Пример кода из файла cshtml:


<ul>@foreach (var entity in this.Model)
    {<li>
                @Html.ActionLink(ShortDescription, "Index", "Search", new { entityName = entity.Value.UrlName }, null) 
                <img src="../../Content/themes/blue/EntityBullet.png" />
     </li>}</ul>

Могу поспорить, что либо мне не хватает правила маршрутизации, либо я делаю что-то не так с тегом img. Есть какие-нибудь подсказки?

Ответы [ 2 ]

5 голосов
/ 02 августа 2011

Используйте это (при условии, что папка Content находится непосредственно под корнем вашего сайта):

<img src="@Url.Content("~/Content/themes/blue/EntityBullet.png")" />
4 голосов
/ 02 августа 2011

используйте это внутри атрибута src в теге изображения:

<img src="@Url.Content("~/content/themes/blue/image.png")" alt="" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...