为什么此下拉列表不会使用适当的行数更新视图?

时间:2016-03-04 16:53:22

标签: c# asp.net-mvc razor pagedlist

我创建了一个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" })
}

我可以在下拉列表中看到正确的值,但是当我进行选择时,页面不会使用正确的行数进行更新。我知道我一定做错了什么或遗忘了什么。

非常感谢任何帮助。

0 个答案:

没有答案