1

我必须在没有回发的情况下在 MVC4 中实现分页。我已经使用回发实现了分页。

public ActionResult Index(int? page)
{
    var model = from r in db.Country                        
                orderby r.Description ascending
                select r;
    int pageSize = 10;
    int pageNumber = (page ?? 1);
    return View(model.ToPagedList(pageNumber, pageSize));           
}

我在视图中使用了以下代码

<div id="pagelist">
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount

@if (Model.HasPreviousPage)
{
    @Ajax.ActionLink("<<", "Index", new { page = 1 },null)
    @Html.Raw(" ");
    @Ajax.ActionLink("< Prev", "Index", new { page = Model.PageNumber - 1 },null)
}
else
{
    @:<<
    @Html.Raw(" ");
    @:< Prev
}

@if (Model.HasNextPage)
{
    @Ajax.ActionLink("Next >", "Index", new { page = Model.PageNumber + 1 },null)
    @Html.Raw(" ");
    @Ajax.ActionLink(">>", "Index", new { page = Model.PageCount },null)
}
else
{
    @:Next >
    @Html.Raw(" ")
    @:>>
}

这段代码实现了分页。但是每次当我点击下一个链接时,页面都会刷新。我想要不刷新页面的分页。

4

1 回答 1

0

你会想看看Partial Viewsand Ajax.BeginForm。这将允许您通过 ajax 获得新结果,而不会导致页面回发。

这篇博文:http: //blachniet.com/2011/08/10/partial-views-with-unobtrusive-ajax/可以帮助您入门。

于 2013-01-31T16:06:54.993 回答