我们的客户有此要求:
现在是我的问题的一部分:
我更喜欢只保存整个页面,并在用户想要再次查看搜索页面时将其恢复。但我不知道这是否可能......
我真的不想保存所有搜索过滤器,并在用户进入搜索页面时再次进行搜索,因为有> 100个搜索过滤器和搜索也可以同时进行。
客户很难要求他能够继续进行搜索,每次再次进入搜索页面时都不应重新开始。
感谢您提出的所有建议。
答案 0 :(得分:2)
听起来你可以使用.NET的@OutputCache页面声明和VaryByParam属性集(如果搜索参数至少通过查询字符串。)
答案 1 :(得分:0)
我想出一些自定义缓存机制来在服务器上存储搜索结果。当用户提交搜索时,结果存储在缓存中,并且键返回到页面。然后,当用户单击按钮重新查看结果时,使用密钥从服务器检索结果。
答案 2 :(得分:0)
为什么不将搜索结果保存到会话或视图状态变量?
如果我在你的位置(并且无法将搜索结果保存到会话变量),我会:
应该注意的是,如果搜索结果使用服务器端,浏览器相关控件(根据服务器上指示的浏览器类型返回不同HTML的控件),此解决方案将出现问题。
如果你愿意,如果你将div的内部html设置为保存页面上body标签的内部html,iFrame可以替换为div。
我相信ASP中还内置了一个功能,可以获取页面的渲染文本,但我不记得它的名称。