使用SQL连接填充下拉列表

本文关键字:下拉列表 填充 连接 SQL 使用 | 更新日期: 2023-09-27 18:02:02

我有一个下拉列表在asp.net的形式,需要通过SQL填充。我在我的Page_Load()中使用ScriptManager,由于这个下拉列表没有被填充。我需要用ScriptManager,因为我用的是AjaxCalendarExtender

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());
    }
}

DB_Access.cs中的getNames()函数

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

使用SQL连接填充下拉列表

我发现答案是在aspx页面的脚本管理器中,而不是在页面加载事件中动态创建它。

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