Asp.net三级联动DropDownList C# 上
各位朋友大家好,第一篇博客,写点前段时间的作业吧。
前段时间看到了篇公众号文章,写的是推荐我们这些IT行业的人写写博客,记录自己做的东西,那个号主说他是大三开始写博客的,想了想我今年刚好也大三,那就写一个吧!
DropDwonList
这个控件其实蛮简单的,中文名称叫下拉列表,这次的作业内容是用这个控件做一个省市县三级联动的作业,就是选了省份它自动更新市区,选了市区自动更新县区。
思路
省市县的数据是一个txt文本,三级数据它是纵向排列的,每个地区都有一个编号,先导入文本内容,然后去判断编号,提取同一编号开头的数据就可以啦。
先看一下这个txt长啥样。
看到这里大家就懂了吧,如果是北京市,他的前三位都是110,然后创建DropDwonList控件的时候记得再拉一个ScriptManager控件,不然不能刷新好像是,不过不拉vs也会提示你的。
就是这样
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.IO; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { BindProvince(); BindCity(); BindArea(); } } private void BindProvince() { string mp = Server.MapPath("sheng.txt"); StreamReader sr = new StreamReader(mp); string address; while ((address = sr.ReadLine()) != null) { string[] list = address.Split('\t'); int s = Convert.ToInt32(list[0]); if (list[0].Substring(2, 4) == "0000" && s % 1000 == 0) { ddl_Province.Items.Add(list[1]); } } } private void BindCity() { ddl_Area.Items.Clear(); string mp = Server.MapPath("sheng.txt"); StreamReader sr = new StreamReader(mp); string fisrt2 = ddl_Province.SelectedValue; Console.WriteLine(ddl_Province.SelectedValue); string address; while ((address = sr.ReadLine()) != null) { string[] list = address.Split('\t'); int s = Convert.ToInt32(list[0]); if (list[1] == fisrt2 && s % 100 == 0) { ddl_City.Items.Add(list[2]); } } } private void BindArea() { string mp = Server.MapPath("sheng.txt"); StreamReader sr = new StreamReader(mp); ddl_Area.Items.Clear(); string fisrt2 = ddl_Province.SelectedValue; string first4 = ddl_City.SelectedValue; string address; while ((address = sr.ReadLine()) != null) { string[] list = address.Split('\t'); if (list[1] == fisrt2) { if (list[2] == first4 ) { ddl_Area.Items.Add(list[3]); } } } } protected void ddl_City_SelectedIndexChanged(object sender, EventArgs e) { ddl_Area.Items.Clear(); BindArea(); } protected void ddl_Province_SelectedIndexChanged(object sender, EventArgs e) { ddl_City.Items.Clear(); ddl_Area.Items.Clear(); BindCity(); BindArea(); } }
ddl_Provinde就是省的下拉列表,BindProvince()就是绑定省的方法。
用最老土的方法StreamReader导入文本,最上面记得using System.IO;
first2就是编号前2位,first4就是前4位.,通过判断前几位数值是否相等来添加数据。
最后当下拉列表值发生改变再绑定其他数据就可以了。
弊端
这样的话写了三个绑定方法,文本就要调用3次,总的来说还是不够简洁,但是好处呢就是这样写好看,嗯没错就是好看,怎么看怎么舒服。
明天再写一个调用一次文本的方法,今天就这样了。
现在跟宿舍里玩游戏的同学越走越远了,也许注定我们不是同一个世界的人吧,大学三年。渐渐地对专业、班级没有了归属感,我宁愿在我的小圈子里努力做好自己的事情。二十几岁的人,每天就指望着游戏来满足你的成就感,这种生活我实在不喜欢。
人还是应该努力一点的。不然你在这干嘛,人生就这么一次,不要浪费呀!
你不努力,永远有别人比你更努力。生活总得有点向往吧。
唉,算了,发什么牢骚啊,做好自己即可了。该睡觉了,大家晚安吧!
上次打2k听到评论员一句话,分享给大家
Anything you can do,I can do better.
- 点赞 1
- 收藏
- 分享
- 文章举报
- Asp.net三级联动DropDownList C# 下
- 省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示
- asp.net实现DropDownList、ListBox无刷新三级联动的两种方法
- asp.net DropDownList 三级联动下拉菜单
- asp.net实现ListBox、DropDownList无刷新三级联动(xmlhttp)
- 省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例
- 省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例
- asp.net DropDownList 三级联动下拉菜单实现代码
- asp.net实现DropDownList、ListBox无刷新三级联动的两种方法
- asp.net DropDownList 三级联动下拉菜单实现代码
- 2017-5-21 Asp.Net内置对象 和 DropDownList时间年月日的三级联动
- 省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例
- asp.net实现DropDownList、ListBox无刷新三级联动(javascript)
- asp.net实现ListBox、DropDownList无刷新三级联动(xmlhttp)
- 省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例
- asp.net实现DropDownList、ListBox无刷新三级联动(javascript)
- 省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例
- 省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例[转帖]
- 对asp.net实现DropDownList、ListBox无刷新三级联动(javascript)的改进
- 对asp.net实现DropDownList、ListBox无刷新三级联动(javascript)修改