tak nie działa autouzupełnianie jQuery,
Autouzupełnianie jQuery automatycznie wysyła tekst wprowadzony w polu tekstowym do lokalizacji określonej w ciągu zapytania „termin”, do którego uzyskujesz dostęp w metodzie internetowej lub obsłudze w ten sposób
string input = HttpContext.Current.Request.QueryString["term"];
coś takiego
[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;
}
}
}
to idzie na twoją stronę .aspx
$(".ui-autocomplete").autocomplete({
source: "Admin_home.aspx/GetAutoCompleteData",
select: function (event, ui) { }
});
EDYCJA:
Nigdy nie robiłem tego w metodzie internetowej , zwykle używam handlera .ashx , ale to powinno działać równie dobrze.
kiedy wszystko się zmieniło , uruchom witrynę w trybie debugowania, zacznij pisać w polu tekstowym i dopasuj f12 i obserwuj ruch, który to powoduje - jeśli wpiszesz "abc", powinno to wyglądać
Admin_home.aspx/GetAutoCompleteData?term=abc
następnie odpowiedź, z którą być może będziesz musiał się trochę pobawić, domyślnie .net doda "d:...." do odpowiedzi po stronie klienta, ale możesz to obejrzeć i odpowiednio dostosować
Kolejna edycja:
<asp:Textbox ID="query" class="ui.autocomplete">
nie jest tym, co umieściłeś w jquery
$(".ui-autocomplete").autocomplete({
powinno być
<asp:Textbox ID="query" class="ui-autocomplete">
Jeszcze inna edycja:
Brakuje jednego cytatu
using (SqlCommand cmd = new SqlCommand("select DISTINCT Car from T_Car where Car like '%'+ @SearchText +'%", con))
zamień na
using (SqlCommand cmd = new SqlCommand("select DISTINCT Car from T_Car where Car like '%'+ @SearchText +'%' ", con))