Ajax支持搜索具有多个条件的产品

时间:2012-06-05 06:41:12

标签: asp.net ajax search filter

希望拥有此网站上的搜索功能

http://www.carwale.com/new/search.aspx#budget=6&budget=8&fuel=2

每当用户过滤搜索(检查任何复选框)时,它都会相应地更新结果, 可以理解为ajax过滤器。

但与此同时,查询字符串也反映了变化, 这有助于用户为过滤器搜索添加书签以供日后参考。

通过asp.net/javascript更改它可能会导致页面重新加载..

任何暗示或实施相同的建议都会非常有用..

2 个答案:

答案 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的情况下完全完成。