2012-01-27 74 views
0

我有用於進入城市的asp.net webform頁面中的此文本框。在輸入一些文本時,它提供了與Facebook相匹配的結果一樣的建議。使用ajax優化搜索結果進入位置?

我試過這兩種方法來實現這個。

  1. 我第一次使用onTextChanged事件和AJAX,發現它只在文本框失去焦點時才起作用。我想要一個解決方案在你輸入時工作。使用這個功能的好處是我可以使用數據庫,並且速度會很快,因爲在此過程中不會傳輸任何xml文件。

2.我用ajax,客戶端使用js。但問題是包含城市的XML,那裏說,國家是一個龐大的30MB文件。所以,使用它是不可能的,所以想到從每個字母表中製作26個小的xml文件,但它們仍然足夠大以至於無法使用。所以,現在我打算使用包含城市的26 * 26個文件,前兩個字母相同,但我認爲它是無效的方式來做我想要的。

有沒有其他有效的方法來完成它? 如果可以的話,最好的方法是使用數據庫。

回答

0
  1. 您需要改用onkeypress和/或onkeyup事件。 您是否知道那裏有免費的即插即用自動完成組件?例如http://jqueryui.com/demos/autocomplete/

  2. 使用JSON!它更緊湊。您可能會節省30-40%的數據量。 您是否知道您不需要傳遞整個數據集即可工作?您可以讓它在服務器上運行(例如,在數據庫中,或者緩存在網絡服務器上以獲得更快的訪問速度和更少的數據庫流量),並且讓客戶端基於它們鍵入的字符一次只拖出一小部分數據。該JQuery UI自動完成支持該功能。


如果您不能使用JQuery和JQuery UI(不想將是不可接受的答案),那麼我敢肯定還有其他的替代品,包括這一個:http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AutoComplete/AutoComplete.aspx