zo werkt jQuery Autocomplete niet,
jQuery autocomplete verzendt automatisch de tekst die in het tekstvak is ingevoerd naar de locatie die u opgeeft in een querystring "term" die u opent in webmethode of handler zoals deze
string input = HttpContext.Current.Request.QueryString["term"];
zoiets als dit
[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;
}
}
}
dit komt op je .aspx-pagina
$(".ui-autocomplete").autocomplete({
source: "Admin_home.aspx/GetAutoCompleteData",
select: function (event, ui) { }
});
BEWERKEN:
Ik heb dit nog nooit gedaan in de webmethode , ik gebruik meestal een handler .ashx , maar dit zou net zo goed moeten werken.
als je dat allemaal hebt veranderd, start je de site in debug-modus, begin je in het tekstvak te typen en pas je op f12 en kijk je naar het verkeer dat dit veroorzaakt - als je "abc" typt, zou het eruit moeten zien
Admin_home.aspx/GetAutoCompleteData?term=abc
dan zal het antwoord waar je misschien een beetje mee moet spelen , standaard .net "d :..." toevoegen aan het antwoord aan de clientzijde , maar je kunt het bekijken en dienovereenkomstig aanpassen
Nog een bewerking:
<asp:Textbox ID="query" class="ui.autocomplete">
is niet wat je in de jQuery zet
$(".ui-autocomplete").autocomplete({
het zou moeten zijn
<asp:Textbox ID="query" class="ui-autocomplete">
Nog een andere bewerking:
Er ontbreekt een enkel aanhalingsteken
using (SqlCommand cmd = new SqlCommand("select DISTINCT Car from T_Car where Car like '%'+ @SearchText +'%", con))
vervangen door
using (SqlCommand cmd = new SqlCommand("select DISTINCT Car from T_Car where Car like '%'+ @SearchText +'%' ", con))