使用asp.net MVC分页搜索结果

DM.*_*DM. 5 asp.net asp.net-mvc paging pagination

我有一种情况,通过我在这里的搜索找不到解决方案.这是场景:

我有一个包含2个必填字段和多个可选字段的搜索表单.表单发布到一个操作方法,该方法确定选择哪些字段并构建与搜索条件匹配的List <>对象.然后我将List <>传递给视图以供显示.

我遇到的这个问题涉及如何使用asp.net mvc进行分页.对于过去的项目,我使用了一个自定义的Html帮助程序来创建包含查询参数和"页面"参数的链接.然后它使用GET请求和.Take().Skip()格式.

我已经在这个项目上遇到了障碍,因为我不能使用GET请求来搜索标准,我无法找到一种方法来保持List <>在内存中执行通常的"页面"参数技巧.

我想在会话中存储List <>,但对象和列表可能非常大.

我认为这是高级搜索表单的一个热门问题,但我似乎无法找到一个好的解决方案.任何帮助,将不胜感激.谢谢!

Oma*_*mar 3

如何缓存搜索结果对象并给它一个唯一的键。然后,您可以让分页链接引用该唯一的 (SearchID),并让您的操作查找该对象,将其从缓存中拉出,然后从那里跳过/获取。

这不会为每个请求重建对象,从而使页面加载速度更快并减少数据库/应用程序的压力。

这是一篇关于缓存的文章:

https://web.archive.org/web/20211020111559/https://aspnet.4guysfromrolla.com/articles/100902-1.aspx

这是一个关于缓存的视频:

http://www.asp.net/learn/Videos/video-6206.aspx

注意:请确保指定缓存对象的到期日期。