Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Autouzupełnianie JQuery z bazą danych

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))


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak udostępnić bazę danych TFS?

  2. ROLLBACK OBCIĄŻONY w SQL Server

  3. Wydajność SQL w LEFT OUTER JOIN vs NOT EXISTS

  4. Pobieranie wartości logicznej z daty porównaj w t-sql select

  5. Sparametryzowane zapytanie ..... oczekuje parametru „@units”, którego nie podano