用于从数据库更新下拉列表的代码

时间:2014-07-18 04:43:33

标签: c# asp.net data-binding

查找代码以更新数据库中的下拉列表。请知道是否有更好的替代方法。

1 个答案:

答案 0 :(得分:1)

<asp:DropDownList ID="DropDownList1" runat="server" 
                         DataSource = '<%# Status %>'
                         DataTextField  = "status">
                         </asp:DropDownList>

protected DataTable Status
    {
        get
        {
             DataTable dt  = new DataTable();

            using (con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
            {
                string fetch_qry = @"select status from table";

                con.Open();
                using (SqlDataAdapter adpt = new SqlDataAdapter(fetch_qry, con))
                {

                    adpt.Fill(dt);                    

                }
            }

                return dt;
        }
    }

重要说明:只有在调用DataBind函数时才会这样:

protected void Page_Load(object sender, EventArgs e)
    {
        DropDownList1.DataBind();
    }

this.DataBind();也可以,但它会绑定页面中的所有控件。最好具体一点。

或者,可以在代码页而不是设计页面声明DataSource和DataTextField,如下所示:

protected void Page_Load(object sender, EventArgs e)
    {
        DropDownList1.DataSource = Status;
        DropDownList1.DataTextField = "status";
        DropDownList1.DataBind();
    }

如果网格视图中存在下拉列表; gridview级别的DataBind函数将绑定数据网格中的下拉列表中的数据:GridView1.DataBind();