ASP.NET——实现两个下拉框动态联动

【B/S】 专栏收录该内容
13 篇文章 0 订阅

引入:

      在网页中,我们经常会遇到下图中的情况。首先在下拉框中选择所在的省,选择之后,第二个下拉框会自动加载出该省中的市。这样设计极大的方便了用户的查找。那这是如何实现的呢?



1、建立数据库

“省”表


“市”表



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开发实战1200例》(清华大学出版社.房大伟.吕双) PDF格式扫描版,全书分为23章,共935页。2011年1月出版。 全书压缩打包成3部分,这是第3部分 内容简介   《ASP.NET开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第I卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用ASP.NET进行程序开发的各种知识和技巧。主要包括ASP.NET技术基础、VS 2008环境搭建,还详细讲解了C#语言设计入门,然后从常用Web服务器控件、ASP.NET安全验证控件、数据绑定控件、Web用户控件和ASP.NET导航控件全面介绍了几乎所有ASP.NET控件应用,接着以AJAX无刷新技术及页面模板设计对ASP.NET客户端进行了详细介绍,最后以高效网站开发缓存技术、文件I/O处理和图形图像与多媒体方面更高层次地讲解了ASP.NET网站开发技术。本卷共分6篇23章内容,共计600个实例经验技巧。每个实例都是作者精心筛选的,具有很强的实用性,其中一些是开发人员难于寻觅的。 目 录 第1篇 ASP.NET快速入门篇 第1章 搭建ASP.NET开发环境 2 1.1 ASP.NET环境配置 3 实例001 安装和配置Visual Studio 2008开发环境 3 实例002 安装和配置IIS(Web服务器) 7 实例003 安装MSDN帮助编程学习 10 实例004 在VS 2008中设定断点及调试程序 13 1.2 应用Web.Config配置网站 16 实例005 配置Access数据库连接 16 实例006 配置SQL Server数据库连接 18 实例007 配置Session变量的生命周期 19 实例008 限制上传文件的大小与时间 20 实例009 连接默认错误页 21 实例010 配置验证级别 22 第2章 C#语言基础 25 2.1 实用的数据类型 26 实例011 仓库与盒子的学问——数据类型与变量 26 实例012 数据类型之值类型的使用 27 实例013 数据类型之引用类型的使用 30 实例014 数据类型之浅复制:包含引用类型的值类型 31 实例015 按值传递引用类型 33 实例016 按引用传递引用类型 35 实例017 程序性能的优化——装箱和拆箱的 最小化 36 2.2 流程控制和数组的应用 38 实例018 岔路口的选择——这是去医院还是去学校的路 38 实例019 看看你现在是否处于人生的黄金阶段 40 实例020 当前所处月份是地球上的春夏秋冬哪个季节 41 实例021 巧妇的“精打细算”——百钱买百鸡 43 实例022 后台管理登录窗口中用户名及密码的重置 45 实例023 制作一个简单的循环计数器 47 实例024 媳妇儿喜欢的“大乐透”号码 48 实例025 我的“双色球”从小到大的排序号码 50 实例026 明日科技编程全能词典种类及其价格 51 实例027 浓浓思乡之情——李白的《静夜思》 53 实例028 会考考试中的汉字拼音简码 54 实例029 经典算法之歌德巴赫猜想的算法 55 实例030 经典问题之约瑟夫环问题(使用数组解决) 57 实例031 数组与算法之冒泡排序 58 实例032 冒泡排序的改进——快速排序算法 60 实例033 较高级的数组与算法——二分法搜索 61 2.3 运算符的应用 63 实例034 加加减减——前缀方式增1和减1运算符 63 实例035 乾坤大挪移——移位运算符的简单应用 64 实例036 制作一个简单的加法计算器(利用算术运算符) 66 实例037 判断合法的用户名称和密码 67 实例038 加密用户密码等重要的数据信息 69 2.4 静态字符串String操作 70 实例039 用户注册中“密码”和“确认密码”是否一致 70 实例040 定位字符串和子串 71 实例041 标准的图书定价及上市时间 72 实例042 由用户名“MR”和密码“明日科技”组成新密码 73 实例043 分行显示我的兴趣与爱好 75 实例044 两种比较不错的密码修改方案 76 实例045 再谈两种比较不错的密码修改方案 77 实例046 智能复制当前输入的数据信息 79 实例047 用户密码重置功能 80 2.5 动态字符串StringBuilder操作 81 实例048 动态追加用户密码信息 81 实例049 客户管理系统中动态组成用户新密码 82 实例050 用户密码设置简单化 83 实例051 动态替换用户密码信息 84 2.6 常用日期操作 85 实例052 获得
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值