ASP.NET MVC: передать список объектов из контроллера в представление - PullRequest
0 голосов
/ 15 декабря 2018

Итак, этот кусок кода - мой 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>

Ответы [ 2 ]

0 голосов
/ 15 декабря 2018

Вы передаете список объектов из контроллера для просмотра, поэтому вы должны использовать IEnumerable или List или IList ключевых слов в ваших представлениях.Так что вы можете использовать следующие способы.

@model IEnumerable<BookStore.Models.Book>

ИЛИ

@model IList<BookStore.Models.Book>

ИЛИ

@model List<BookStore.Models.Book>

Я надеюсь, что это будет работать.

0 голосов
/ 15 декабря 2018

Проблема в следующей строке:

@model BookStore.Models.Book

Вы передаете List<Book> от контроллера к представлению, но тип модели вашего представления - Book.Поэтому напишите приведенную выше строку следующим образом:

@model List<BookStore.Models.Book>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...