Итак, этот фрагмент кода - мой класс Controller. Отправляю список книг на View
public class BooksController : Controller
{
public ActionResult Index(int page = 0)
{
List<Book> data = BookRepository.GetInstance().getAllBooks();
return this.View(data);
}
}
Итак, я написал это сверху, ссылаясь на класс модели
@model BookStore.Models.Book
Когда я пытаюсь выполнить итерацию, как в приведенном ниже коде, он говорит, что он не содержит общедоступного экземпляра для GetEnumerator, но я вернул список объектов, как мне получить доступ к каждому объекту в списке в цикле for?
<ul>
@foreach(var book in Model)
{
}
</ul>
Да! Это сработало, большое спасибо!





Проблема в следующей строке:
@model BookStore.Models.Book
Вы передаете List<Book> из контроллера в представление, но тип модели вашего представления - Book. Поэтому напишите приведенную выше строку следующим образом:
@model List<BookStore.Models.Book>
Вы передаете список объектов из контроллера для просмотра, поэтому вы должны использовать ключевые слова IEnumerable или Список или IList в вашем представлении. ТАК, вы можете использовать следующие способы.
@model IEnumerable<BookStore.Models.Book>
ИЛИ
@model IList<BookStore.Models.Book>
ИЛИ
@model List<BookStore.Models.Book>
Надеюсь, это сработает.
Ваша модель должна быть списком книг, а не отдельной книгой. Невозможно перебрать один элемент. Попробуйте @model List <BookStore.Models.Book>