2012-06-05 23 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