#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. В любом случае, два предложения, которые уже могут помочь:
- Удалите
DisplayFor()
и просто поместите туда необработанное значение. -
Заключите
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.