我创建了一个Helper类:
public class PageSizeHelper
{
public static List<SelectListItem> ItemsPerPageList
{
get
{
return (new List<SelectListItem> {
new SelectListItem{ Text="5", Value = "5" },
new SelectListItem{ Text="10", Value = "10", Selected = true },
new SelectListItem{ Text="25", Value = "25"},
new SelectListItem{ Text="50", Value = "50"},
new SelectListItem{ Text="100", Value = "100"},
});
}
}
}
在控制器中我有:
public ActionResult Index(string sortOrder, string currentFilter,int? page, int? itemsPerPage)
{
.
.
.
ViewBag.CurrentItemsPerPage = itemsPerPage;
.
.
int pageSize = 5;
int pageNumber = (page ?? 1);
.
return View(data.ToPagedList(pageNumber: page ?? 1, pageSize: itemsPerPage ?? 10));
在视图中我有:
@{
List<SelectListItem> itemsPerPageList = PageSizeHelper.ItemsPerPageList;
}
.
.
.
table w/ data
.
.
.
@Html.PagedListPager(Model, page => Url.Action("Index",
new { page, itemsPerPage = ViewBag.CurrentItemsPerPage, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter }))
<br />
@if (Model != null)
{
@Html.DropDownList("ItemsPerPage", itemsPerPageList, new { id = "ItemsPerPageList" })
}
我可以在下拉列表中看到正确的值,但是当我进行选择时,页面不会使用正确的行数进行更新。我知道我一定做错了什么或遗忘了什么。
非常感谢任何帮助。