我正在尝试翻页一些信息,但是当我单击其他任何页面时,数据都没有改变。
控制器:
public ActionResult Student(string currentFilter, string searchString, int? page)
{
if (searchString != null)
{
page = 1;
}
ViewBag.CurrentFilter = currentFilter;
ViewBag.SearchString = searchString;
var students = new List<Student>();
if (!string.IsNullOrEmpty(searchString))
{
var studentStore = new StudentStore();
students = studentStore.ReadFiltered(currentFilter, searchString);
page = 1;
}
int pageSize = 15;
int pageNumber = (page ?? 1);
return View(students.ToPagedList(pageNumber, pageSize));
}
查看:
@using Directory.Models
@model PagedList.IPagedList<Student>
@using PagedList.Mvc;
@{
ViewBag.Title = "Student";
Layout = null;
}
<h2>Student</h2>
@using (Html.BeginForm("Student", "Web", FormMethod.Get))
{
@Html.TextBox("CurrentFilter", ViewBag.CurrentFilter as string)
<p>
Find by name: @Html.TextBox("SearchString", ViewBag.CurrentFilter as
string)
<input type="submit" value="Search" />
</p>
}
<table>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.LastName)
</td>
<td>
@Html.DisplayFor(modelItem => item.FirstName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Email)
</td>
</tr>
}
</table>
<br/>
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount
@Html.PagedListPager( Model, page => Url.Action("Student", new { page,currentFilter = ViewBag.CurrentFilter, searchString = ViewBag.SearchString }))
我得到了完整的学生名单,但是当我尝试将结果限制为每页15个时,我只会得到前15个,而当我单击另一页时,显示的信息不会改变。
答案 0 :(得分:0)
我最终删除了所有的页面= 1行,并且可以循环浏览信息。