2010-08-11 126 views
2

我想爲我的web應用中的文本提供自動完成選項。我有SQL服務器數據庫表中的主數據。我在谷歌,並發現如何使用autocomplte。所有的例子都使用web服務來做到這一點。我無法創建一個Web服務來解決這個問題。是否有可能通過查找代碼背後的數據庫值來實現自動完成?如果有的話,任何人都可以提供任何樣本鏈接供參考?使用Ajax自動完成

由於提前,

Jebli

回答

3

這取決於數據的體積。有2個選項:

  • 將其發送到先發制人(或許JSON或HTML)的網頁源
  • 客戶端讓客戶端查詢它根據他們的意見

第二如果數據量不重要,這很常見,因爲您可以查詢何時(例如)他們輸入了3個字符; 非常有用名稱和其他長列表。

重新提供網絡服務;這不一定是一個完整/複雜的網絡服務;只是一個簡單的路線或ashx(例如)返回過濾的數據。

jquery autocomplete plugin支持這兩種情況,雖然現在jQuery UI插件已經部分廢棄了。

是否有可能從數據庫代碼查找值背後

嘛實現自動完成,也就是在服務器 - 所以你基本上是在談論相同的「Web服務」你說你不能這樣做...我也認爲你應該將2個函數(創建頁面和提供自動完成結果)分離成單獨的文件(/ pages/whatever)。

+0

我只有一個文本框,我必須爲整個應用程序實現sutocomplte。我應該爲此功能創建一個新的Web服務嗎?如果有其他方法,這會更好。謝謝回覆。 – Jebli 2010-08-11 07:28:48

+0

@Jebli - 我認爲你過分強調「網絡服務」;它只是一個返回一些數據的url。 Ashx將完成這項工作。 Aspx *可以*做到這一點,但很難得到正確的格式。顯然MVC路線是最簡單的。 – 2010-08-11 07:45:31

+0

好的感謝您的意見。你的建議對我非常有用。謝謝。 – Jebli 2010-08-11 08:01:53

1

一個簡單的方法是創建一個新的aspx頁面,將自動完成查詢作爲查詢字符串參數,在數據庫中查找結果並將響應作爲XML或JSON返回。