希望拥有此网站上的搜索功能
http://www.carwale.com/new/search.aspx#budget=6&budget=8&fuel=2
每当用户过滤搜索(检查任何复选框)时,它都会相应地更新结果, 可以理解为ajax过滤器。
但与此同时,查询字符串也反映了变化, 这有助于用户为过滤器搜索添加书签以供日后参考。
通过asp.net/javascript更改它可能会导致页面重新加载..
任何暗示或实施相同的建议都会非常有用..
答案 0 :(得分:1)
- 对于第一部分,他有一组带有autopostback的复选框列表。
在每个帖子中,列表都会根据所选复选框进行更新。
直到现在一切都很简单,很酷的是它有一个很好的交互界面(用javascript和jQuery制作)。
- 关于第二部分,如何更改网址,以便重新加载页面。这里的技巧是将参数放在锚#
之后,例如:
/new/search.aspx#budget=2
使用锚#
页面不会重新加载并保持原样。因此,当有人点击复选框时,通过javascript也会更新网址,但只有#
之后的内容才能保持完全重新加载。
现在#
之后的参数无法读取代码,只能通过javascript读取。
因此,当您为此页面添加书签并直接转到例如/new/search.aspx#budget=2
时,javascript会读取#
之后的内容并将其翻译为命令,请选中相应的复选框,并要求刷新内容。所有这些只能通过javascript完成。
我看到使用jQuery history plugin
作为此架构的助手。
http://archive.plugins.jquery.com/project/history
当您在目录上导航,从页面到页面时,使用amazon完成#
之后参数的相同技巧。
- 另一个聪明的诀窍是打开整页等待,因此在页面再次准备好之前,用户无法与页面交互。如果不这样做,并且用户在复选框上快速点击两次,则可能导致在updatepanel上发回整页,这可能会丢失之前的设置。
答案 1 :(得分:1)
这可以在三件事的帮助下完成
1)正如@Aristos所说,启用了自动回发的复选框
2)Ajax控件工具包Modalpopup,在每次异步回发时自动触发(http://weblogs.asp.net/ruslan/pages/ajax-update-progress-updateprogress-in-ajax-modal-popup-modalpopupextender .aspx或http://mattberseth.com/blog/2007/07/modalpopup_as_an_ajax_progress.html)
3)历史记录点(http://msdn.microsoft.com/en-us/library/cc488548.aspx)
如果您不想使用它,可以在不使用jQuery的情况下完全完成。