繁体   English   中英

ASP.NET MVC:将对象列表从Controller传递到View

[英]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>

您正在从控制器传递对象列表以进行查看,因此您必须在视图中使用IEnumerableListIList关键字。 所以你可以使用以下方式。

@model IEnumerable<BookStore.Models.Book>

要么

@model IList<BookStore.Models.Book>

要么

@model List<BookStore.Models.Book>

我希望它能奏效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM