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

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

    

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

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

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


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

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

[html]  view plain copy print ?
  1. <label class="txt-green">校区:</label>  
  2. <asp:DropDownList ID="ddlCampus" Width="120px" Height="25px" runat="server"   
  3.     AutoPostBack="True" onselectedindexchanged="ddlCampus_SelectedIndexChanged">  
  4. </asp:DropDownList>  

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

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

[html]  view plain copy print ?
  1. #region 绑定现存校区信息  
  2.     private void bindCampus()  
  3.     {  
  4.         //调用建筑业务逻辑层,查询现存校区信息  
  5.         DataTable dtCampus = new BuildingBLL().QueryCampus();  
  6.   
  7.         //绑定校区信息,并添加新行  
  8.   
  9.         //绑定校区信息  
  10.         ddlCampus.DataSource = dtCampus;  
  11.         //校区名  
  12.         ddlCampus.DataTextField = "CampusName";  
  13.         //校区ID  
  14.         ddlCampus.DataValueField = "CampusID";  
  15.         ddlCampus.DataBind();  
  16.   
  17.         ddlCampus.Items.Insert(0, new ListItem("", ""));//插入空项,此项必须放到数据绑定之后  
  18.     }  
  19.     #endregion  

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

[html]  view plain copy print ?
  1. protected void Page_Load(object sender, EventArgs e)  
  2.     {  
  3.         //页面第一次加载时;必须加上 if (!IsPostBack),  
  4.         //否则校区下拉列表根据指定校区查询建筑信息,校区只会绑定校区下拉列表首行数据的ID  
  5.         if (!IsPostBack)  
  6.         {  
  7.             //绑定现存校区信息  
  8.             bindCampus();  
  9.   
  10.             //绑定查询所有建筑信息(校区ID为空)  
  11.             bindAllBuilding();  
  12.         }  
  13.     }  

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

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

[html]  view plain copy print ?
  1. //随着下拉框中值的改变,选择相应的现存、已撤销、彻底删除信息  
  2.     protected void ddlCampus_SelectedIndexChanged(object sender, EventArgs e)  
  3.     {  
  4.         //获取下拉框校区名对应的校区ID:下面两行代码都可用  
  5.         string strCampusID = ddlCampus.SelectedItem.Value;  
  6.         //string strCampusID1 = ddlCampus.SelectedValue;  
  7.   
  8.         //校区实体  
  9.         CampusEntity enCampus = new CampusEntity();  
  10.   
  11.         if ("" == strCampusID)  
  12.         {  
  13.             //如果校区为空,则查询各校区全部现存、已撤销、彻底删除的建筑信息  
  14.   
  15.             //校区ID为空  
  16.             enCampus.CampusID = "";  
  17.   
  18.             #region 绑定现存、已撤销、彻底删除全部建筑信息  
  19.             //现存信息  
  20.             //调用BLL层查询现存建筑信息的方法  
  21.             DataTable dtBuilding = new BuildingBLL().QueryBuilding(enCampus);  
  22.             //绑定现存建筑信息  
  23.             repNowBuilding.DataSource = dtBuilding;  
  24.             repNowBuilding.DataBind();  
  25.   
  26.             // 绑定撤销建筑信息  
  27.             repCanceledBuilding.DataSource = new BuildingBLL().QueryCancelBuilding(enCampus);  
  28.             repCanceledBuilding.DataBind();  
  29.   
  30.             // 绑定彻底删除的课程类型数据数据  
  31.             repDeletedBuilding.DataSource = new BuildingBLL().QueryDeleteBuilding(enCampus);  
  32.             repDeletedBuilding.DataBind();  
  33.             #endregion  
  34.         }  
  35.         else  
  36.         {  
  37.   
  38.             //如果校区不为空,则查询相应校区的现存、已撤销、彻底删除的建筑信息  
  39.   
  40.             //校区ID不为空,校区ID来自下拉列表选择的值  
  41.             enCampus.CampusID = strCampusID;  
  42.   
  43.             #region 绑定现存、已撤销、彻底删除全部建筑信息  
  44.             //现存信息  
  45.             //调用BLL层查询现存建筑信息的方法  
  46.             DataTable dtBuilding = new BuildingBLL().QueryBuilding(enCampus);  
  47.             //绑定现存建筑信息  
  48.             repNowBuilding.DataSource = dtBuilding;  
  49.             repNowBuilding.DataBind();  
  50.   
  51.             // 绑定撤销建筑信息  
  52.             repCanceledBuilding.DataSource = new BuildingBLL().QueryCancelBuilding(enCampus);  
  53.             repCanceledBuilding.DataBind();  
  54.   
  55.             // 绑定彻底删除的课程类型数据数据  
  56.             repDeletedBuilding.DataSource = new BuildingBLL().QueryDeleteBuilding(enCampus);  
  57.             repDeletedBuilding.DataBind();  
  58.             #endregion  
  59.         }  
  60.   

  1.     }  
  2. 注意点:1.DropDownList列表绑定数据时添加空行的实现。只一行代码

               2.因需要根据下拉列表选定值查询相应建筑信息,于是将AutoPostBack属性置为True,这时需要在Form_Load中加上if(!IsPostBack)的判断,不加入此判断,“SelectedIndexChanged”事件中校区ID会一直获取的是下拉列表的首行ID。

    原文地址:http://blog.csdn.net/mazhaojuan/article/details/8529782

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值