日期:2014-05-16  浏览次数:20505 次

ASP.NET中DropDownList控件的简单使用--DDL绑定数据库表中值,选择DDL中值直接检索数据

    这篇博客主要说一下DropDownList绑定数据库表中数据,及选择相应DropDownList表中的值会根据此值从数据库中查询相应的数据信息。

    

 一、简单介绍一下我要实现的功能

     我要实现的功能简单界面:

   我要实现的功能:校区旁边的下拉列表我使用的是DropDownList控件,页面加载时DropDownList会绑定从数据库中查询出的校区信息,然后根据校区值的选取,在下面多标签栏中显示相应的建筑信息。


二、简单介绍下DropDownList绑定数据及根据其值查询建筑信息的实现 

     1.在.aspx页面拖入DropDownList控件

                    <label class="txt-green">校区:</label>
                    <asp:DropDownList ID="ddlCampus" Width="120px" Height="25px" runat="server" 
                        AutoPostBack="True" onselectedindexchanged="ddlCampus_SelectedIndexChanged">
                    </asp:DropDownList>

     2.在.aspx.cs页面中,编写DropDownList绑定数据库表值的方法

       我采用三层架构方法,这里只介绍界面层的实现

#region 绑定现存校区信息
    private void bindCampus()
    {
        //调用建筑业务逻辑层,查询现存校区信息
        DataTable dtCampus = new BuildingBLL().QueryCampus();

        //绑定校区信息,并添加新行

        //绑定校区信息
        ddlCampus.DataSource = dtCampus;
        //校区名
        ddlCampus.DataTextField = "CampusName";
        //校区ID
        ddlCampus.DataValueField = "CampusID";
        ddlCampus.DataBind();

        ddlCampus.Items.Insert(0, new ListItem("", ""));//插入空项,此项必须放到数据绑定之后
    }
    #endregion

     3.在.aspx.cs页面的Form_Load事件中调用DropDownList绑定数据库表值的方法

protected void Page_Load(object sender, EventArgs e)
    {
        //页面第一次加载时;必须加上 if (!IsPostBack),
        //否则校区下拉列表根据指定校区查询建筑信息,校区只会绑定校区下拉列表首行数据的ID
        if (!IsPostBack)
        {
            //绑定现存校区信息
            bindCampus();

            //绑定查询所有建筑信息(校区ID为空)
            bindAllBuilding();
        }
    }

     4.根据DropDownList中选择的值,相应显示查询的建筑信息的实现方法

更改DropDownList的AutoPostBack属性值为True。然后再DropDownList的“SelectedIndexChanged”事件中编写查询建筑信息的方法。

//随着下拉框中值的改变,选择相应的现存、已撤销、彻底删除信息
    protected void ddlCampus_SelectedIndexChanged(object sender, EventArgs e)
    {
        //获取下拉框校区名对应的校区ID:下面两行代码都可用
        string strCampusID = ddlCampus.SelectedItem.Value;