新增項目 |
App_Code/cs 檔類別 | App_Code/cs檔方法 | 網頁程式 | |
---|---|---|---|---|
使用WebService | WebService.asmx、WebService.cs檔 |
類別加[System.Web.Script. Services.ScriptService]屬性, 並繼承System.Web. Services.WebService |
方法不可宣告static否則無效 |
aspx頁面的AutoCompleteExtender擴充項 須指定ServicePath |
不使用WebService |
加入一個類別AutoComplete_ WebPage.cs |
類別繼承System.Web. UI.Page |
一定要宣告成static才有效果 | aspx.cs須繼承自訂類別 |
眼尖的讀者可以發現以上的SQL查詢會有SQL Injection危險,所以以上 SqlDataAdapter 的查詢語法最好改成以下:
string selectStr = @"SELECT Top (" + count + ") CompanyName FROM Customers Where CompanyName Like @prefixText + '%' Order by CustomerID ASC";
SqlDataAdapter da = new SqlDataAdapter(selectStr, conn);
da.SelectCommand.Parameters.AddWithValue("@prefixText", prefixText);
再附上黑暗執行緒網友的jQuery AutoComplete懶人包文章
MSDN相關討論:http://social.msdn.microsoft.com/Forums/zh-TW/236/thread/0ffc9ef8-3577-4f2c-9867-aae692235717
2011/10/19 追加說明
如果是在MasterPage或是WebControl做自動完成的話,建議採用WebService的方式,才能成功。
原始文章出自於此
沒有留言:
張貼留言