2016-08-11 9 views
0

Ich habe eine Dropdown-Liste in asp.net Formular, die durch SQL Population benötigt. Ich verwende eine ScriptManager in meinem Page_Load() und aufgrund dieser Dropdownliste wird nicht ausgefüllt. Ich muss die ScriptManager verwenden, da ich eine AjaxCalendarExtender verwende.Auffüllen einer Dropdown-Liste mit einer SQL-Verbindung

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     DataSet ds = dba.getNames(); 
     ddNames.DataSource = ds.Tables["EMPLOYEE"].DefaultView; 
     ddNames.DataTextField = "Username"; 
     ddNames.DataValueField = "Username"; 
     ddNames.DataBind(); 
    } 
    if (ScriptManager.GetCurrent(Page) == null) 
    { 
     Page.Form.Controls.AddAt(0, new ScriptManager()); 
    } 
} 

GetNames() Funktion in DB_Access.cs

public DataSet getNames() 
{ 
    if (conn.State.ToString() == "Closed") 
    { 
     conn.Open(); 
    } 

    SqlCommand newCmd = conn.CreateCommand(); 
    newCmd.Connection = conn; 
    newCmd.CommandType = CommandType.Text; 
    newCmd.CommandText = "Select DISTINCT Username from dbo.EMPLOYEE"; 

    SqlDataAdapter da = new SqlDataAdapter(newCmd); 
    DataSet ds = new DataSet(); 
    da.Fill(ds, "EMPLOYEE"); 

    conn.Close(); 

    return ds; 
} 
+0

intresting. wo ist question – lordkain

+0

code gibt die Werte nicht an die Dropdown-Liste zurück. Zeigt eine leere Dropdown-Liste an. Wie kann ich das beheben? – Omesh

Antwort

0

fand ich die Antwort in dem Skript-Manager in aspx Seite zu sein, anstatt die es dynamisch in der Seite Load-Ereignis erstellen.

<asp:ScriptManager ID="ScriptManager1" runat="server" />

Verwandte Themen