ASP.NET——两个下拉框来实现动态联动
介绍:
在网页中。我们常常会遇到下图中的情况。首先在下拉框中选择所在的省。选择之后,第二个下拉框会自己主动载入出该省中的市。这样设计极大的方便了用户的查找。那这是怎样实现的呢?
1、建立数据库
“省”表
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDA2NjkzNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
“市”表
2、加入控件
3、两个下拉框分别绑定数据源
protected void Page_Load(object sender, EventArgs e)
{
//推断是否第一次进入页面。假设是,则绑定数据库。假设不是,则无需绑定。 if (!this.IsPostBack)
{
//绑定省 SqlConnection con = DB.createConnection();
con.Open();
string cmdText = "select* from province";
SqlCommand cmd = new SqlCommand(cmdText, con);
SqlDataReader sdr = cmd.ExecuteReader();
this.DropDownList1.DataSource = sdr;
this.DropDownList1.DataTextField = "proName";//文本内容
this.DropDownList1.DataValueField = "proID"; //数据源字段
this.DropDownList1.DataBind();
sdr.Close(); //绑定市
string cmdCityText = "select* from city where proID=" + this.DropDownList1.SelectedValue;
SqlCommand cmdCity = new SqlCommand(cmdCityText, con);
sdr = cmdCity.ExecuteReader();
//剩下部分与绑定省相似,略 //关闭连接
con.Close();
}
}
到这里。两个文本框都已经载入到各自的数据。剩下的就是动态联动了。
4、当我们更改第一个下拉框中的内容后,会触发第一个文本框的SelectedIndexChanged事件。将第一个下拉框的proID(省的ID)作为參数,就可以查到其市的内容。
详细代码例如以下:
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
//省的ID
string proID = this.DropDownList1.SelectedValue;
SqlConnection con = DB.createConnection();
con.Open(); SqlCommand cmd = new SqlCommand("select * from city where proID=" + proID, con);
SqlDataReader sdr = cmd.ExecuteReader();
//绑定
this.DropDownList2.DataSource = sdr;
this.DropDownList2.DataTextField = "cityName";
this.DropDownList2.DataValueField = "cityID";
this.DropDownList2.DataBind();
sdr.Close();
con.Close();
}
这样。我们就能够实现动态联动了。
这种动态联动,一般由多个下拉框组成一组菜单,比方上面用到的两个下拉框。下拉菜单之间有联动的关系。
当上级的选中项发生改变时,下级会依据上级中的选中项显示对应的内容。
尽管仅仅是一个小技巧或者说是小的需求,但当数据量特别大时。它的功能就不可小视了。上次期末考试导考生的时候,可能仅仅是一个页面忽略了这个功能,结果导致工作量大大添加。
用了动态联动之后。当面对庞大的数据或复杂的分类时,页面的载入速度也不会受到影响,也方便了用户找到。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
ASP.NET——两个下拉框来实现动态联动的更多相关文章
- ASP.NET——实现两个下拉框动态联动
引入: 在网页中,我们经常会遇到下图中的情况.首先在下拉框中选择所在的省,选择之后,第二个下拉框会自动加载出该省中的市.这样设计极大的方便了用户的查找.那这是如何实现的呢? 1.建立数据库 " ...
- 下拉框数据的动态选择,类似级联ajax刷新数据
简单的两个下拉列表,第二个中的数据与第一个下拉框相关: --------------------var selected = $(this).children('option:selected').v ...
- 2016.8.22 Axure两级下拉框联动的实现
刚学Axure,有些很简单的东西都要弄很久,但是弄出来的总归是很开心的. 参考来自:实现省市县下拉框的三级联动 http://www.woshipm.com/rp/348795.html/commen ...
- 前端下拉框选择和动态生成调用div
进入到一个项目期中,一边做项目,一边学习其中用到的知识.这些知识都是零碎的,有数据库,有html,有js,还有django.趁周末时间,整理前面遇到过的前端相关的知识点. 下拉框选择 <html ...
- thymeleaf下拉框从后台动态获取集合数据并回显选中
今天遇到从后台集合中取出对象在前台页面下拉列表展示: <select name="signature" lay-search="" class=" ...
- VUE 单选下拉框Select中动态加载 默认选中第一个
<lable>分类情况</lable> <select v-model="content.tid"> <option v-for=&quo ...
- 【ASP.NET】 MVC下拉框联动
这个case主要是我在做项目的时候遇到一个需要根据input控件输入的内容,动态填充dropdown list中的内容, 实现二者联动的需求.在搜索了一些资源后,这篇博客解决了我的问题,所以记录并转载 ...
- asp.net easyui 动态绑定下拉框
前台: <title>标题</title> <link href="EasyUi_v1.3.4/easyui/themes/default/easyui.css ...
- Combobox下拉框两级联动
下拉框的两级联动是我们开发中经常遇到一种情况.比如一个学生管理系统中,根据年级.科目及姓名查询学生考试成绩,年级和科目都是硬盘中的有限数据(数据库)而学生则可以有用户手动指定,这时在数据库中有年级和科 ...
随机推荐
- QT 4.7.6 驱动 罗技C720摄像头
编译器: mingw32 gcc 4.8.1 mingw32 g++ 4.8.1 QT 版本: 4.8.6 OpenCV版本: 3.0.0 测试平台: win7 x64 --------------- ...
- MyBatis学习门户网站(一)
需要jar包:mybatis-3.x.x.jar .假设需要和spring综合,此外,我们需要增加相关的包 1:看到项目文件夹 不要在意红色 2:依照步骤: 1:增加jar包 2:创建数据源(conf ...
- struts2充分国际化案例 错误解决
在struts2中须要做国际化的有: jsp页面的国际化,action错误信息的国际化,转换错误信息的国际化.校验错误信息的国际化 在之前的样例中已经做过和国际化相关的样例了,在struts.xml中 ...
- 什么是Cyclomatic Complexity(圈复杂度)?
Campwood Software SourceMonitor Version 3.5 The freeware program SourceMonitor lets you see inside y ...
- Ecshop他们主动双语版切换来推断个人的计划
个人思路是基于浏览器的语言来推断自己主动,假设中国的浏览器,对使用中国模板.将英语模板.于.英国的模板差值称为不同的产品类别.文章分类,的模板可设置为相同的固定的文本language,所以你不会有打造 ...
- 花生壳宣布网站的网址直接绑定到详细的项目——jboss版本
花生壳公布,首先要有域名.然后激活域名,详细的公布就不说了,网上有非常多资料,这里是在jboss下直接将网址与详细的项目相应.做法有点不地道 假设跟图上一样配置的话.訪问网址相当于訪问的是http:/ ...
- linux下磁盘进行分区、文件系统创建、挂载和卸载(转)
任务的原因:由于,刚购买来的服务器需要将磁盘挂载到操作系统上,为了挂载磁盘首先要对磁盘进行分区,然后进行文件系统的创建,最后将磁盘挂载到操作系统上的某个目录. MBR(Master Boot Reco ...
- BigPipe设计原理
高性能页面加载技术--BigPipe设计原理及Java简单实现 1.技术背景 动态web网站的历史可以追溯到万维网初期,相比于静态网站,动态网站提供了强大的可交互功能.经过几十年的发展,动态网站在互动 ...
- RH133读书笔记(11)-Lab 11 System Rescue and Troubleshooting
Lab 11 System Rescue and Troubleshooting Goal: To build skills in system rescue procedures. Estimate ...
- Ubuntu 14.04 Android 使用Maven一个 用例project
在说明书前面描述SDK通过使用Ant发展. 本文试图在此基础上使用Maven发展. 在这里,我们需要使用maven-android-plugin. 在本文中,参考官方文件: https://code. ...