Re: [問題] 一個自動完成的問題

看板C_Sharp作者時間16年前 (2009/05/19 00:06), 編輯推噓4(4015)
留言19則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《maxpeter2100 (釣)》之銘言: : ※ [本文轉錄自 Ajax 看板] : 作者: maxpeter2100 (釣) 看板: Ajax : 標題: [問題] 一個自動完成的問題 : 時間: Mon May 18 22:15:42 2009 : 我寫一個自動輸入完成的功能 : 用Web Method : 搭配ajaxtool的autocompleteextender : 我web service 寫法如下 恕刪 : namespace StockRiskManagement : { : /// <summary> : /// StockBuy 的摘要描述 : /// </summary> : [WebService(Namespace = "http://tempuri.org/")] : [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] : // 若要允許使用 ASP.NET AJAX 從指令碼呼叫此 Web 服務,請取消註解下一行。 : [System.Web.Script.Services.ScriptService] : public class StockBuy : System.Web.Services.WebService : { : public string[] GetNameGuggestion(string prefixText,int count) : { : //// 定義一個泛用集合物件 List 來儲存建議詞。 : List<string> suggestions = new List<string>(); : // 取得資料庫連線字串設定,來建立 SQL 連線物件。 : try : { : string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data : Source=StockRiskManagement/mdb/Database.mdb"; : OleDbConnection Con = new OleDbConnection(constr); //資料連結 : 物件 Con 的設定 : Con.Open(); //連結資料庫 : // 指派查詢陳述式。 : string select = "SELECT DISTINCT 股票名稱 FROM 公司資料 WHERE : 股票名稱 LIKE @prefixName "; //嚴重懷疑這行錯了 你應該程式跑起來沒有錯誤訊息, 可是得到的結果不對, 對吧? 你試一下 "SELECT DISTINCT 股票名稱 FROM 公司資料 WHERE 股票名稱 LIKE @prefixName +'%'"; 然後下面塞變數改成 cmd.Parameters.AddWithValue("@prefixName", prefixText); : OleDbCommand cmd = new OleDbCommand(select, Con); //設定命令物 : 件 : // 設定參數值。 : cmd.Parameters.AddWithValue("@prefixName", prefixText + "%"); : OleDbDataReader dr = cmd.ExecuteReader(); : int matchCount = 1; 恕刪 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.9.28 ※ 編輯: KenZ 來自: 218.173.9.28 (05/19 00:07)

05/19 00:19, , 1F
也不是結果不對 是沒有反應 自動完成沒反應 我試試..
05/19 00:19, 1F

05/19 00:22, , 2F
不行 還是沒反應 自動完成的功能 除了寫WEB服務以外
05/19 00:22, 2F

05/19 00:23, , 3F
還有甚麼要寫的嗎??
05/19 00:23, 3F

05/19 00:24, , 4F
HTML端的部分 會有影響嗎? 感覺是我select的語法問題
05/19 00:24, 4F

05/19 11:50, , 5F
你應該分開測試, 先測試SELECT沒錯, 再測試你的Function回傳
05/19 11:50, 5F

05/19 11:52, , 6F
值正確, 另外, AutoComplete只吃 WebService
05/19 11:52, 6F

05/19 11:54, , 7F
你開 Debug 很快就可以找到到底是哪段有問題了
05/19 11:54, 7F

05/19 14:19, , 8F
或者不要用LIKE,直接=避免%的問題
05/19 14:19, 8F

05/19 15:28, , 9F
可是我開小紅點 感覺根本沒用阿.... 好像是沒讀到
05/19 15:28, 9F

05/19 15:28, , 10F
function 是因為我放在updatepanel裡面的關係嗎???
05/19 15:28, 10F

05/19 21:12, , 11F
跟UpdatePanel無關, 我用也是丟在UpdatePanel裡
05/19 21:12, 11F

05/19 21:13, , 12F
聽你描述, 看起來根本沒有呼叫到你的WebService
05/19 21:13, 12F

05/19 21:13, , 13F
檢查你AutoCompleteExtender 的 ServicePath有沒有設錯
05/19 21:13, 13F

05/19 21:21, , 14F
沒錯 Servicepath=~/StockBuy.asmx 跟網頁同一目錄
05/19 21:21, 14F

05/19 21:28, , 15F
我的TEXTBOX也是寫在Updatepanel中... 可是小紅點
05/19 21:28, 15F

05/19 21:28, , 16F
真的是不管怎麼放 都感覺沒有用ㄟ.....
05/19 21:28, 16F

05/19 21:29, , 17F
然後ScriptManager住有沒有註冊感覺都沒差
05/19 21:29, 17F

05/19 21:30, , 18F
對了 我是寫在Master中的內頁 不曉得有沒有差...
05/19 21:30, 18F

05/19 23:20, , 19F
Master沒差, 我之前寫也是放在Master裡
05/19 23:20, 19F
文章代碼(AID): #1A4OUFum (C_Sharp)
文章代碼(AID): #1A4OUFum (C_Sharp)