2013-07-18 3 views
1

Ive получил это в моем EditRound.cshtml@ Url.Action не работает, не показывая картину в <img>

<img width="150" height="150" 
      src="@Url.Action("GetImage", "Admin", new {Model.Id})" /> 

И его не показывает картину по некоторым причинам. И мой код

public FileContentResult GetImage(int roundId) 
    { 
     Round round = roundRepository.Rounds.FirstOrDefault(p => p.Id == roundId); 
     if (round != null) 
     { 
      return File(round.RoundMapImage, round.ImageMimeType); 
     } 
     else 
     { 
      return null; 
     } 
    } 

Я отлажена и кажется, что все будет хорошо, но что-то выглядит не так в методе @ Url.Action. Просмотр кода страницы показывает это SRC = "/ Admin/GetImage/1 так, очевидно, тот не прав, как я могу это исправить

+0

ЦСИ нужен путь к файлу, а не фактический файл .. – bazz

+0

Как я могу исправить это, я попробовал много вещей, но ничего не работает –

+0

View Page source показывает это src = "/ Admin/GetImage/1, так что очевидно, что это неправильно, как я могу это исправить? –

ответ

3

Если /Admin/GetImage/1 неверна, то вы можете попробовать использовать:

<img width="150" height="150" 
     src="@Url.Action("GetImage", "Admin", new { roundId = Model.Id})" /> 

Это должно дать вы путь в виде /Admin/GetImage?roundId=1

+0

Омг большое спасибо, это сработало! –

+0

@ pkunal7 Я пытаюсь точно такой же пример. И на моем html я вижу, что он передает его путь и по параметру на контроллере вместо (int roundId). У меня есть (int oscar). Но когда я помещаю breakpint в метод Getimage, он не делает этого. любые идеи почему? Любая помощь будет отличной благодаря – CodeEngine

+0

@ omachu23 Это интересно. Какая ошибка вы получаете? Если вы поместите URL-адрес методу GetImage в браузере, он когда-нибудь получит что-нибудь обратно (даже код ошибки HTTP) или он отключится? – pkunal7

-1

Пожалуйста, замените новый {Model.Id} к новому {ID = item.ID}