我可以创建一个不调用函数的PagedListPager

时间:2017-09-15 11:19:57

标签: javascript c# ajax model-view-controller

我正在尝试使用ajax调用来管理列表,在第一次加载时一切都很好,因为搜索按钮进行了ajax调用,它会加载第一页结果。问题是,当我创建PagedListPager时,它正在调用控制器函数,导致页面重置并且结果消失。

所以我想做的是将PagedListPager创建为没有操作的按钮,并使用Javascript处理这些按钮的点击。有没有人知道如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

我无法使用PagedListPager找到解决方案。 PagedListPager创建一个无序列表,我在视图中重新创建了一个空白链接,如下所示:

<a href="">/</a> 

这很有用,因为它维护了网站上其他PagedLists上使用的样式。然后从javascript中覆盖li click事件,如下所示:

 $(document).on("click", "li", function (event)

现在我可以从每个li进行ajax调用,而不会每次刷新页面。 希望这有助于一些人!!

更优雅的解决方案是使用id

创建列表
<ul id="pagingbuttons" class="pagination">

并且还为列表中的li元素提供id。 所以现在从javascript覆盖该列表的click事件,如此

 $(document).on('click', '#pagingbuttons', function(event)

然后我们点击任何按钮就可以得到它的id值

event.target.text

这会阻止同一页面上的任何其他li元素无意中触发ajax调用。

答案 1 :(得分:0)

你可以使用这个javascript库(我写的):https://github.com/pjbonestroo/PagedList

它解决了重新加载,分页等问题,并且可以完全自定义。它包括文档。

它将通过ajax调用自动调用您的控制器函数,或者如果您愿意,可以在客户端添加数据。

它还有一些不错的功能,如

  • 过滤和排序(客户端或服务器端,首选)
  • 为防止过多刷新而进行的辩论
  • 可自定义的按钮和样式,取决于行数据
  • 轻松地向行添加/删除事件侦听器(并获取有关触发的行数据)

关于您的问题,请特别关注可自定义按钮,以便您使用Javascript处理按钮上的点击。