Как отобразить список изображений в ASP.net mvc

#c# #asp.net-mvc

#c# #asp.net-mvc

Вопрос:

Мне нужно отобразить список изображений

Контроллер

 public ActionResult Index()
{         
   return View(db.User.ToList());
}
  

В представлении

 @model IEnumerable<User.Models.User>

@foreach (var item in Model) {
         <img src=@Html.DisplayFor(modelItem => item.Image) alt="Profile Image" width="20" height="20"/>
}
  

Приведенный выше код показывает неработающую ссылку на изображение.
HTML-код является

 <img src="~/Images/" alt="Profile Image" width="20" height="20">
  

Мой вопрос, как я могу отобразить фотографии в виде списка?
Например

Person1 Изображение PERSON1
Person2 Изображение PERSON2
Person3 Изображение PERSON3

Комментарии:

1. что такое item. Возвращаемое изображение, это строка base64?

2. Откуда я могу это знать

Ответ №1:

Немного сложно угадать, что означает «неработающая ссылка на изображение», было бы полезно, если бы вы опубликовали сгенерированный HTML. В любом случае, два предложения, которые уже могут помочь:

  1. Удалите DisplayFor() и просто поместите туда необработанное значение.
  2. Заключите src значение в кавычки («») на случай, если ваш URL содержит пробелы.

     @foreach (var item in Model) {
        <img src="@item.Image" alt="Profile Image" width="20" height="20">
    }
      

Я также изменил /> в конце на > . Это ничего не исправляет в вашей ситуации, но это правильный HTML. /> это то, что мы привыкли делать в XHTML.

Если это не исправит проблему, пожалуйста, опубликуйте сгенерированный HTML для дальнейшей отладки.

Комментарии:

1. К сожалению, это не работает, html-код <img alt=»Изображение профиля» width=»20″ height =»20″>

2. А, ну это кое-что объясняет. @item.Image просто не содержит URL к фотографии. Либо найдите свойство, @item которое выполняет, либо заполните @item.Image значением URL.