[英]ASP.NET MVC: Pass list of objects from Controller to View
所以这段代码是我的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或List或IList关键字。 所以你可以使用以下方式。
@model IEnumerable<BookStore.Models.Book>
要么
@model IList<BookStore.Models.Book>
要么
@model List<BookStore.Models.Book>
我希望它能奏效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.