我们的客户有这样的需求:
- 搜索页面应在当用户点击窗体上的搜索图标模态对话框(iframe中)被显示
- 用户可以搜索,浏览自己的搜索结果,并选择一个记录
- 现在的模式对话框隐藏起来,用户查看记录
- 当用户再次点击搜索图标,模态对话框再次显示了
现在我的问题的一部分:
- 当用户离开当前页面,并在几分钟后返回的页面上,并再次按下搜索图标,继续他的搜索,他应该看到相同的页面,因为他之前离开的地方。
我宁愿只保存完整的页面,当用户想再次查看搜索页面恢复。 但我不知道这是可能的..
我真的不希望保存所有的搜索过滤器,当用户进入搜索页面再次进行搜索,因为有> 100个搜索过滤器和搜索可以同时。
这是从客户那他应该能够继续他的搜索,并再次每次他去搜索页面再一次不应该开始在一个硬性要求。
感谢在这所有的建议。
这听起来像你可以使用.NET的@OutputCache页声明设置VaryByParam属性(如果搜索PARAMS是通过查询字符串,至少。)
我会拿出某种自定义缓存机制来存储在服务器上的搜索结果。 当用户提交搜索时,结果被存储在缓存中,并一键返回到该页面。 然后,当用户点击按钮来重新查看结果,检索使用该密钥服务器的结果。
你为什么不将搜索结果保存到会话或视图状态变量?
如果我是你的位置(而无法将搜索结果保存到一个会话变量)我想:
- 使模态对话框自己的页面。
- 下载网页的服务器上(服务器连接到模态对话框页面和下载的内容)。
- 存放在某处下载页面(可能是会议,但也许在数据库或文件系统)。
- 一个添加的iFrame的模态对话框(请确保您添加的名称字段,否则将无法在FF工作)。
- 设置在模式对话框来保存搜索结果iFrame的来源。
应当指出的是,这种解决方案有问题,如果搜索结果中使用服务器端,依赖于浏览器控件(返回基于在服务器指定的浏览器类型不同的HTML控件)。
如果你想,内嵌框架可以用DIV如果你div的内部HTML设置为保存网页的body标签内的HTML代替。
我相信这是中还内置了ASP,这将得到一个网页的渲染文本的功能,但我不记得它叫什么。