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;
}
}
}
你說這不工作,但你不知道提供更多細節。您是否在服務器端或客戶端獲取錯誤消息?你的服務器端功能是否被調用?您是否使用過瀏覽器的調試工具和/或Fiddler查看請求和響應? – mason
我使用斷點的代碼工作正常,但自動完成不工作的.aspx頁面 – user3364191
Your MinimumPrefixLength是21.這非常高。在激活自動完成之前,您必須鍵入21個字符。如果您使用瀏覽器工具或Fiddler查看請求和響應,您仍然沒有提及。 – mason