2014-03-27 70 views
0

我正在使用Asp.net 4.5,我在不使用Web服務的情況下實現了自動填充擴展器,但它不起作用。這裏是我的代碼ASP.Net AJAX控件工具包AutoCompleteExtender不使用Web服務

<div> 
    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></asp:ToolkitScriptManager> 

    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
       <asp:AutoCompleteExtender ServiceMethod="SearchCustomers" 
MinimumPrefixLength="21" 
CompletionInterval="100" EnableCaching="true" CompletionSetCount="100" 
TargetControlID="TextBox1" 
ID="AutoCompleteExtender1" runat="server" FirstRowSelected = "false"> 

這裏是我的aspx代碼: -

[System.Web.Script.Services.ScriptMethod()] 
[System.Web.Services.WebMethod] 
public static List<string> SearchCustomers(string prefixText, int count) 
{ 
    using (SqlConnection conn = new SqlConnection()) 
    { 
     conn.ConnectionString = "server=.; database=northwind; integrated security=true"; 
     using (SqlCommand cmd = new SqlCommand()) 
     { 
      cmd.CommandText = "select name from patientHistory where name like @SearchText +'%'"; 
      cmd.Parameters.AddWithValue("@SearchText", prefixText); 
      cmd.Connection = conn; 
      conn.Open(); 
      List<string> customers = new List<string>(); 
      using (SqlDataReader sdr = cmd.ExecuteReader()) 
      { 
       while (sdr.Read()) 
       { 
        customers.Add(sdr["name"].ToString()); 
       } 
      } 
      conn.Close(); 
      return customers; 
     } 
    } 
} 
+0

你說這不工作,但你不知道提供更多細節。您是否在服務器端或客戶端獲取錯誤消息?你的服務器端功能是否被調用?您是否使用過瀏覽器的調試工具和/或Fiddler查看請求和響應? – mason

+0

我使用斷點的代碼工作正常,但自動完成不工作的.aspx頁面 – user3364191

+0

Your MinimumPrefixLength是21.這非常高。在激活自動完成之前,您必須鍵入21個字符。如果您使用瀏覽器工具或Fiddler查看請求和響應,您仍然沒有提及。 – mason

回答

0

嘗試增加EnablePageMethods到ScriptManager的

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnablePageMethods="True"></asp:ToolkitScriptManager> 
+0

我再次嘗試,但它不工作 – user3364191

相關問題