使用PagedList分页部分视图

时间:2013-09-19 14:00:33

标签: jquery ajax asp.net-mvc-4 asp.net-mvc-partialview pagedlist

我有一个包含表格数据的部分视图。 我使用PagedList进行分页。

它在普通视图下运行良好,但是当我尝试将其放在局部视图上时,当我单击下一页或任何其他页面时,它只刷新整个页面并且我的视图中断:(

我只想刷新部分视图,这意味着当我执行分页时,我只想更改部分视图而不是整个视图。

这是我的部分视图的分页代码...

Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount
@Html.PagedListPager( Model, page => Url.Action("StudentList", new { page, sortOrder = ViewBag.CurrentSort, currentFilter=ViewBag.CurrentFilter }) )

我试图把Ajax.ActionLink而不是Url.Action放在一起但没有成功...... 任何帮助??

2 个答案:

答案 0 :(得分:5)

好吧,我找到了答案。 其他人有类似的问题,我刚才发现......

这是它: Using paging in partial view, asp.net mvc

它工作得很好..

答案 1 :(得分:1)

您可以使用PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing来激活页面no link,这将返回部分视图。

在控制器中:

 if (Request.IsAjaxRequest())
 {
    //viewModel=your viewModel
    return PartialView("viewModel");
  }

在视图中

@Html.PagedListPager( Model, page => Url.Action("StudentList", new { page, sortOrder = ViewBag.CurrentSort, currentFilter=ViewBag.CurrentFilter }),PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing( new AjaxOptions(){  HttpMethod = "GET", UpdateTargetId = "student_table"}) )