我有一个包含表格数据的部分视图。 我使用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放在一起但没有成功...... 任何帮助??
答案 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"}) )