数码资讯
两级联动下拉列表绑定数据表
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
场景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密切();
关闭数据库连接
关闭();
}
在这种方式中,我们动态绑定数据表中,实现城市功能在省根据选定的省份的动态,从而达到面向对象设计解耦的目的,提高可维护性和代码的用户体验。
我希望我的解释能对你有所帮助。
场景二:当我们在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密切();
关闭数据库连接
关闭();
}
在这种方式中,我们动态绑定数据表中,实现城市功能在省根据选定的省份的动态,从而达到面向对象设计解耦的目的,提高可维护性和代码的用户体验。
我希望我的解释能对你有所帮助。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。