0

我的视图有一个搜索框(但问题比这种情况更普遍),当您提交搜索查询时,控制器会检查您的输入并显示分页结果。

现在,为了让用户能够浏览这个特定搜索查询的不同页面,我必须存储搜索数据(为此我使用 flashdata)并将页码检索为 url_segment。

这一切都很好,但问题是如果用户进入搜索点击刷新(或只是重新进入搜索页面)后会发生什么。由于日期是从以前的搜索中保存的,因此它显示相同的搜索结果,但在这种情况下,我想重置我的搜索并显示所有结果。所以我想知道最好的方法是什么(我认为这应该是一个相对常见的问题,但我找不到任何合理的答案)。

简而言之,如何在控制器中正确处理这种情况:

1. Show regular page
2. User submits search query, POST contents are saved, results displayed
3. 
   a) If user clicks on pagination link, keep showing results
   b) If user refreshes page, reset search parameters, show full results

第三步给我带来了问题,因为我必须使用非常混乱的代码(本质上,分页链接的附加参数告诉控制器它仍然是搜索查询的一部分),我想知道是否有任何干净的解决方案?

谢谢。

4

0 回答 0