【发布时间】:2012-05-02 12:41:10
【问题描述】:
我有一个显示非表格搜索结果的页面(每页 3 个,因为每个页面都非常详细)。此页面还包含一个带有复选框过滤器列表的表单 - 默认状态为选中,因为它显示了所有结果。要从结果中删除某些选项,请从列表中取消选中它们并单击以提交表单。
控制器然后处理这些过滤器并返回新过滤的搜索结果。
我想要做的是添加分页——特别是 ajax 分页。我只是想知道其他人会怎么做?
分页功能本身可以工作(没有 ajax)——我可以传递 pageSize 和 pageNumber 并返回正确的结果。但是,我将页码作为隐藏字段加载到表单中,并且因为发布表单是分页的触发器,所以出现了问题。当我单击 Next Page 按钮时,它使用 jQuery 将值添加到 pagenumber 隐藏字段,反之亦然。但是,如果我在第 3 页并添加了一些过滤器,则新列表将回传到视图中,但它仍会尝试转到第 3 页,如果不存在第 3 页,则会引发错误。
将页码作为表单字段似乎是一个复杂的解决方案 - 那里必须有一个更干净的解决方案。有没有人在需要基于表单的过滤器的 MVC 应用程序中使用 ajax 分页?
【问题讨论】:
标签: c# jquery asp.net ajax asp.net-mvc-3