2012-06-05 24 views
1

想拥有搜索功能在这个网站启用Ajax搜索产品的多个标准

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

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

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

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

任何暗示或实现相同的将是非常有益的建议..

回答

1

这可以用的3件事的帮助下一起

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。

+0

谢谢@Chris您的回答对我直接从asp.net环境中完成工作很有帮助 – RohitWagh

1

- 在第一部分,他有一组带有autopostback的复选框列表。

在每个回帖中,根据所选复选框更新列表。

一切都很简单,直到现在,很酷的是有一个很好的交互界面(用JavaScript和jQuery制作)。

- 关于第二部分,它如何更改url以便可以将书签和out重新加载页面。这里的技巧是放置参数锚#如后:

/new/search.aspx#budget=2 

使用锚#的页面没有加载,并保持原样。所以当有人点击复选框时,通过javascript也更新了url,但是只有在#之后才是这样,页面保持不变,完全重新加载。

现在#之后的参数无法在代码后面读取,但只能通过javascript读取。

所以,当你有书签这个页面,你直接去例如/new/search.aspx#budget=2 javascript读取#后面的内容并将其翻译为命令,检查相应的复选框,并要求刷新内容。所有这些只能通过javascript完成。

我看到这是使用jQuery history plugin作为此模式的帮手。

http://archive.plugins.jquery.com/project/history

相同的技巧与参数#后,从亚马逊完成后,当您浏览的目录,一页一页。

- 一个更聪明的技巧就是打开整页等待,所以用户不能与页面交互,直到页面再次准备好。如果不这样做,并且用户在复选框上进行了非常快速的两次点击,那么这会导致整个页面回发到更新面板上,并且这会丢失以前的设​​置。

+0

感谢您的解释@Aristos它帮助我获得应该如何工作的详细内容。 – RohitWagh