2012-04-13 5 views
0

Ich bin neu in ASP.NET, ich mache ein Suchfeld in meiner Anwendung mit AJAX.Listbox kann nicht aus Datentabelle gefüllt werden (AutoComplete TextBox)

Beispiel: Wenn ein Benutzer "abc" in das Textfeld eingibt, ruft das Textfeld Daten aus der Datenbank ab, die mit "abc" beginnen.

und dann möchte ich alle die Zeichenfolge anzuzeigen, die mit abc in List-Box beginnt, bin ich Daten in Datentabelle zu holen, und Daten kommt richtig in Datentabelle,

Wie meine ListBox von Datentabelle füllen?

Hier ist mein Code Snippet,

Code in SecrchBox.aspx onkeyup i am calling this getdata()

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SearchBox.aspx.cs" Inherits="SearchBox" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
    <script type="text/javascript" language="javascript"> 
     function getdata() { 

      var TextBox1 = document.getElementById("<%= TextBox1.ClientID %>"); 
      var ltrSearchResults = document.getElementById("<%= ltrSearchResults.ClientID %>"); 
      var str = TextBox1.value; 
      var xmlhttp; 
      if (str.length == 0) { 
       ltrSearchResults.innerHTML = ""; 
       return; 
      } 
      if (window.XMLHttpRequest) { 
       xmlhttp = new XMLHttpRequest(); 
      } 
      else { 
       xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
      } 

      xmlhttp.open("GET", "Newpage.aspx?q=" + str, false); 
      xmlhttp.send(); 
      ltrSearchResults.innerHTML = xmlhttp.responseText; 

      return false; 

     } 

</script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox><br /> 
     <asp:Label runat="server" ID="Label1" ></asp:Label><br /> 
    </div> 
    </form> 
</body> 
</html> 

Code in News, aspx.cs

public partial class Newpage : System.Web.UI.Page 
{ 
    public string ConnectionString = "Data Source=ilsql;Initial Catalog=krunal_DB;User ID=krunaldbuser;[email protected];"; 
    string[] symbol=new string[2170]; 

    protected void Page_Load(object sender, EventArgs e) 
    { 

     if (!IsPostBack) 
     { 
      GetData();   
     } 
    } 

    private void GetData() 
    { 
     if (Request.QueryString["q"] != null) 
     { 
      string Value = Convert.ToString(Request.QueryString["q"]); 
      StringBuilder str = new StringBuilder(); 
      // string str; 

      if (Value.Length > 0) 
      { 
       SqlConnection cn = new SqlConnection(ConnectionString); 
       cn.Open(); 

       SqlCommand cmd = new SqlCommand("SELECT DISTINCT Scrip FROM dbo.SearchBoxData where Scrip Like '%" + Value + "%'", cn); 
       SqlDataAdapter da = new SqlDataAdapter(cmd); 
       DataTable dt = new DataTable(); 
       da.Fill(dt); 
       cn.Close(); 

       if (dt.Rows.Count > 0) 
       { 
        foreach (DataRow dr in dt.Rows) 
        {       
         str.Append(Convert.ToString(dr["Scrip"]) + "<br>"); 
        } 

        str = str.Remove(str.Length - 2, 2); 
       } 

       Response.Write(str.ToString()); 

      } 
      else 
      { 
       Response.Write("No Result Found"); 
      } 
     } 
    } 
} 

Jede Hilfe wird bewertet!

Dank Im Voraus.

+0

Verwendung Webmethod für diesen Einsatz. benutze diesen Link: http://www.aspsnippets.com/Articles/ASPNet-AJAX-AutoCompleteExtender-Pass-Additional-Parameter-to-WebMethod-using-ContextKey.aspx –

Antwort

0

Ich würde die Verwendung von AutoCompleteExtender von AjaxControlToolkit empfehlen. Es ist einfacher zu implementieren und wurde gut getestet. Hier ist die Verbindung mit der Beschreibung und Code: AutoCompleteExtender

Überprüfen Sie den folgenden Link für ein Tutorial AutoCompleteExtender with Database

prüfen Sie diesen Code Projekt article

+0

Ich kann Dropdown und Toolkit nicht verwenden Ich muss Textbox verwenden. Es ist Pflicht. – Krunal

+0

oh verwenden Sie AutoCompleteTextbox, aus dem gleichen Toolkit, Aktualisieren Sie auch Ihre Frage Titel – Habib

Verwandte Themen