我正在尝试使用MVC为ASP.net Web应用添加分页。目前我有一个控制器,它只是将数据库中的对象列表返回给视图。
public ActionResult List()
{
return View(db.Classes.ToList());
}
在我看来,我正在访问数据以打印出所有项目,例如
@foreach (var i in Model)
{
<div class="block">
<a href="@Url.Action("Index", "Class", new { ClassID = (i.ClassID) })">
<div class="classItem">
<div class="title">
@Html.DisplayFor(Name => i.Name)
</div>
<div class="description">
@Html.DisplayFor(Description => i.Description)
</div>
</div>
</a>
</div>
<br />
<br />
</div>
}
我得到了一份很好的数据列表,但是我想知道如果项目数量超过一定数量,我可以如何添加数据在页面中显示的能力?
答案 0 :(得分:0)
你试过.Skip(N)和.Take(N)
private int pageLength = 10;
public ActionResult List(int? page)
{
var currentPage = page ?? 0;
return View(db.Classes
.Skip(currentPage * pageLength)
.Take(pageLength)
.ToList());
}
这是一个例子,你应该考虑nullRef和越界异常