两级联动下拉列表绑定数据表

两级联动下拉列表绑定数据表
场景1:当我们添加下拉选项中的控制下,我们利用它的项目。添加方法直接添加到代码。如果需要添加或修改下拉选项,我们必须修改源代码。如果几个DropDownList控件具有相同的下拉选项,我们需要增加许多倍,后期维护不方便。

场景二:当我们在12306网站购买机票时,我们肯定遇到过这样一个场景:我们需要先选择目的地省份,然后在选定的省份后自动加载各省的城市,实现两级联动。

对于上述两种情况下,我们可以将数据表直接与DropDownList和动态加载下的城市省根据选定的省份。不实践,不是一个好男人,让我用一个小的demo展示过程的细节。

首先,我们需要在数据库中设置两个表,一个是省(省)表,另一个是城市(城市)表:
复制代码代码如下所示:
创建表的省

脓样的主关键字,
产品名称varchar(20)不为空


创建表的市

cityid主关键字,
商品编号int外键引用省(商品编号),
CityName varchar(20)


插入省值(1 ','北京')
插入省值(2 ','河北')
插入省值(3'、‘山东')

插入城市价值(1,1'、‘海淀')
插入城市价值(2,1 ','凤台')
插入城市价值(3,1、大兴)
插入城市价值(4,2 ','衡水')
插入城市价值(5,2 ','廊坊')
插入城市价值(6,2 ','保定')
插入城市价值(7',3'、‘济南')
插入城市价值(8',3',‘烟台')
插入城市价值(9,3'、‘青岛')

通过声明,我们知道北京有三个城市:海淀、凤台、大兴、河北和三个城市,衡水、廊坊和保定,山东有三个城市——济南、烟台和烟台。

然后我们将控件放入Web窗体中,如下图所示:

DropDownList控件的名字都ddlprovince,ddlcity

然后,我们实现的功能在Web后台代码。当我们需要加载的Web窗体,控件绑定的ddlprovince省表,当ddlprovince下拉选项的变化,ddlcity控制结合城市表。实现代码如下:

构建数据库连接类:
复制代码代码如下所示:
公共类数据库
{
数据库连接字符串
公共静态SqlConnection CreateConnection()
{
SqlConnection CON =新的SqlConnection(数据源=。;初始目录=试验;UID = SA;密码= 123456;);
返回控件;
}
}

在加载Web窗体时执行代码:
复制代码代码如下所示:
protected void page_load(object sender,EventArgs e)
{
如果表单是第一次加载的
如果(!这IsPostBack)。
{
{绑定}省份
SqlConnection CON = db.createconnection();
打开数据库连接
打开();
SqlCommand cmdprovince =新SqlCommand(选择*从省
SqlDataReader sdrprovince = cmdprovince.executereader();
该sdrprovince / ddlprovince结合内容下拉列表
this.ddlprovince.datasource = sdrprovince;
显示数据的内容的表
this.ddlprovince.datatextfield =产品名称;
要显示主键的数据表省
this.ddlprovince.datavaluefield =商品编号;
This.ddlProvince.DataBind();
sdrprovince密切();
关闭数据库连接
关闭();
}
}

该代码被执行时,ddlprovince控制下拉选项变化:
复制代码代码如下所示:
protected void ddlprovince_selectedindexchanged(object sender,EventArgs e)
{
SqlConnection CON = db.createconnection();
打开数据库连接
打开();
城市/界
SqlCommand cmdcity =新SqlCommand(选择*从锡蒂商品编号=+ this.ddlprovince.selectedvalue,CON);
SqlDataReader sdrcity = cmdcity.executereader();
该sdrcity / ddlcity结合内容下拉列表
this.ddlcity.datasource = sdrcity;
表城市显示数据的内容
this.ddlcity.datatextfield =cityName ;
用于显示主键的数据表城市
this.ddlcity.datavaluefield =cityid ;
This.ddlCity.DataBind();
sdrcity密切();
关闭数据库连接
关闭();
}

在这种方式中,我们动态绑定数据表中,实现城市功能在省根据选定的省份的动态,从而达到面向对象设计解耦的目的,提高可维护性和代码的用户体验。

我希望我的解释能对你有所帮助。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部