sql >> Database teknologi >  >> RDS >> Sqlserver

Jquery AutoComplete med database

det er ikke sådan jQuery Autocomplete fungerer,

jQuery autocomplete sender automatisk teksten, der er indtastet i tekstboksen til den placering, du angiver i en forespørgselsstreng "term", du får adgang til den i webmetode eller handler som denne

         string input = HttpContext.Current.Request.QueryString["term"];

sådan noget her

              [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;
        }
    }
}

dette går på din .aspx-side

    $(".ui-autocomplete").autocomplete({
        source: "Admin_home.aspx/GetAutoCompleteData",
        select: function (event, ui) { }
      });

EDIT:

Jeg har faktisk aldrig gjort dette i webmetoden, jeg bruger normalt en handler .ashx, men det burde fungere lige så godt.

når du har ændret alt det, så kør siden i fejlretningstilstand, begynd at skrive i tekstboksen og tilpasse f12 og se den trafik, som dette forårsager - hvis du skriver "abc" skulle det se ud

Admin_home.aspx/GetAutoCompleteData?term=abc

så vil svaret, du måske skal lege lidt med, som standard .net tilføje "d:...." til svaret på klientsiden, men du kan se det og justere i overensstemmelse hermed

Endnu en redigering:

         <asp:Textbox ID="query" class="ui.autocomplete">

er ikke det, du lægger i jqueryen

          $(".ui-autocomplete").autocomplete({

det burde være

         <asp:Textbox ID="query" class="ui-autocomplete">

Endnu en redigering:

Dette mangler et enkelt citat

        using (SqlCommand cmd = new SqlCommand("select DISTINCT Car from T_Car where Car like '%'+ @SearchText +'%", con))

erstatte med

         using (SqlCommand cmd = new SqlCommand("select DISTINCT Car from T_Car where Car like '%'+ @SearchText +'%' ", con))


  1. hent billede i databasen mysql ved at bruge vb

  2. MS Access VBA-indfangning af SQL Server-forbindelsesfejl

  3. Hvordan viser fora dig ulæste emner?

  4. Når vi går efter kryds, og når vi går efter indre joinforbindelse i SQL Server 2012