2

我目前正在使用 PagedList (https://github.com/TroyGoode/PagedList/) 在 ASP.NET MVC 应用程序中管理我的分页。

到今天为止,我已经开始将应用程序的某些部分转换为使用 AJAX,ASP.NET MVC 使这变得非常容易。

然而,我遇到的第一个问题是 PagedList.MVC 助手 @Html.PagedListPager 与不显眼的 AJAX 无论如何都不兼容。

我真正需要做的就是为分页链接添加一些属性(见下文),其余的将自动处理。然而,PagedListPager 没有提供任何方法来做到这一点。

data-ajax="true" data-ajax-mode="replace" data-ajax-update="#SearchResults" 

有没有人遇到过这个并找到了一个优雅的解决方案?

4

2 回答 2

5

我添加了对不显眼的 AJAX 的支持:

https://github.com/TroyGoode/PagedList/issues/26#issuecomment-6471793

于 2012-06-21T01:04:39.873 回答
3

我相信这可能是最优雅的解决方案。

@Html.PagedListPager((IPagedList)Model.Articles, page => Url.Action("Index", new { s = Model.SearchString, page = page }))

<script>


    var pages = $('#pages a[href^="/"]');

    pages.attr('data-ajax', 'true')
        .attr('data-ajax-mode', 'replace')
        .attr('data-ajax-update', '#SearchResults')
        .attr('data-ajax-method', 'post');


</script>

快速 jQuery hack 为所有链接添加必要的属性,以便它们被不显眼的 ajax 模块拾取。

[href^="/"] 部分确保只有可点击的链接会被修改。如果你不使用它,灰色的上一个链接将是可点击的。

于 2012-06-16T00:20:34.997 回答