това не е начинът, по който jQuery Autocomplete работи,
Автоматичното довършване на jQuery автоматично изпраща текста, въведен в текстовото поле, до мястото, което сте посочили в „термин“ от низ на заявка, до който имате достъп в уеб метод или манипулатор като този
string input = HttpContext.Current.Request.QueryString["term"];
нещо подобно
[WebMethod]
public static List<string> GetAutoCompleteData(string Car)
{
string input = HttpContext.Current.Request.QueryString["term"];
List<string> result = new List<string>();
using (SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["CarsConnectionString"].ConnectionString))
{
using (SqlCommand cmd = new SqlCommand("select DISTINCT Car from T_Car where Car like '%'+ @SearchText +'%", con))
{
con.Open();
cmd.Parameters.AddWithValue("@SearchText", input);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
result.Add(dr["Car"].ToString());
}
return result;
}
}
}
това влиза във вашата .aspx страница
$(".ui-autocomplete").autocomplete({
source: "Admin_home.aspx/GetAutoCompleteData",
select: function (event, ui) { }
});
РЕДАКТИРАНЕ:
Всъщност никога не съм правил това в уеб метод, обикновено използвам манипулатор .ashx, но това трябва да работи също толкова добре.
когато промените всичко това, стартирайте сайта в режим на отстраняване на грешки, започнете да пишете в текстовото поле и поставете f12 и наблюдавайте трафика, който това причинява - ако въведете "abc", трябва да изглежда така
Admin_home.aspx/GetAutoCompleteData?term=abc
тогава отговорът, с който може да се наложи да си поиграете малко, по подразбиране .net ще добави "d:...." към отговора към клиентската страна, но можете да го наблюдавате и да коригирате съответно
Друга редакция:
<asp:Textbox ID="query" class="ui.autocomplete">
не е това, което поставяте в jquery
$(".ui-autocomplete").autocomplete({
трябва да е
<asp:Textbox ID="query" class="ui-autocomplete">
И все пак, още една редакция:
Тук липсва една кавичка
using (SqlCommand cmd = new SqlCommand("select DISTINCT Car from T_Car where Car like '%'+ @SearchText +'%", con))
заменете с
using (SqlCommand cmd = new SqlCommand("select DISTINCT Car from T_Car where Car like '%'+ @SearchText +'%' ", con))