【发布时间】:2010-10-15 07:31:46
【问题描述】:
我有一个显示一些项目列表的 ajaxified 列表页面我正在使用用户控件来过滤列表页面的内容用户控件中有多个过滤器我想要的是如果用户应用了多个过滤器而不是导航到其他页面并按后退按钮,应用的过滤器应该处于活动状态。 任何人都可以建议我如何实现这一目标。
【问题讨论】:
我有一个显示一些项目列表的 ajaxified 列表页面我正在使用用户控件来过滤列表页面的内容用户控件中有多个过滤器我想要的是如果用户应用了多个过滤器而不是导航到其他页面并按后退按钮,应用的过滤器应该处于活动状态。 任何人都可以建议我如何实现这一目标。
【问题讨论】:
您应该将过滤器放在查询字符串中,因为:
(1)这不是秘密数据。
(2)当用户点击浏览器的“返回”按钮时,他当然希望列表被过滤好,而不是需要重新过滤列表。有时他也可能会复制地址栏中的url并发送给其他人。
以适当的方式格式化过滤器的信息,例如"filter1=name&filter2=price",如果有过滤器,则处理Page_Load中的查询字符串。
【讨论】:
一种方法是使用 cookie。
将值存储在 cookie 中,并在用户点击后退按钮时使用 javascript 将它们读回。
或者像@Danny 所说的那样使用查询字符串。为什么我没有马上想到这一点:)
【讨论】: