Webform 三级联动例子
首先分别做三个下拉列表
<body>
<form id="form1" runat="server">
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"></asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True"></asp:DropDownList>
<asp:DropDownList ID="DropDownList3" runat="server"></asp:DropDownList>
</form>
</body>
建类:China实体类
public China()
{ }
private string code; public string Code
{
get { return code; }
set { code = value; }
}
private string name; public string Name
{
get { return name; }
set { name = value; }
}
private string prentcode; public string Prentcode
{
get { return prentcode; }
set { prentcode = value; }
}
数据访问类:
public class ChinaData
{
SqlConnection conn = null;
SqlCommand cmd = null;
public ChinaData()
{
conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=123");
cmd = conn.CreateCommand();
}
public List<China> Select(string pcode)
{
cmd.CommandText = "select * from ChinaStates where ParentAreaCode=@pcode";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@pcode", pcode); conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); List<China> list = new List<China>(); if (dr.HasRows)
{
while (dr.Read())
{
China data = new China();
data.Code = dr[].ToString();
data.Name = dr[].ToString();
data.Prentcode = dr[].ToString(); list.Add(data);
}
}
conn.Close();
return list;
}
}
.cs后台代码
首先数据绑定:
if (!IsPostBack)
{
//调用方法绑定数据
Bind(DropDownList1,new ChinaStatesData().Select("")); Bind(DropDownList2, new ChinaStatesData().Select(DropDownList1.SelectedValue)); Bind(DropDownList3, new ChinaStatesData().Select(DropDownList2.SelectedValue));
}
//委托
DropDownList1.SelectedIndexChanged += DropDownList1_SelectedIndexChanged;
DropDownList2.SelectedIndexChanged += DropDownList2_SelectedIndexChanged;
//造方法:
private void Bind(DropDownList ddl, List<ChinaStates> list)
{
ddl.DataSource = list;
ddl.DataTextField = "AreaName";
ddl.DataValueField = "AreaCode";
ddl.DataBind();
}
//SelectedIndexChanged事件
void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
Bind(DropDownList2, new ChinaStatesData().Select(DropDownList1.SelectedValue));//填充市
Bind(DropDownList3, new ChinaStatesData().Select(DropDownList2.SelectedValue));//填充区
}
void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
Bind(DropDownList3, new ChinaStatesData().Select(DropDownList2.SelectedValue));//填充区
}
代码部分完成后,将下拉列表的AutoPostBack属性改为true
Webform 三级联动例子的更多相关文章
- WebForm 三级联动
三级联动 数据库根据父级代号条件写查询 返回list<>集合 方法一: 创建三个下拉列表: ※AutoPostBack:否发生自动回传到服务器的操作.如果把该属性设置为 TRUE,则启用自 ...
- thinkphp5省市区三级联动例子
数据库 数据库下载地址:https://files.cnblogs.com/files/fan-bk/packet_region.zip php <?php namespace app\inde ...
- (八)学习MVC之三级联动
1.新建项目,MVC选择基本模板 2.新建类:Model/Student.cs,数据库信息有三个实体:分别是年级.班级和学生. using System; using System.Collectio ...
- Webform——中国省市三级联动以及IsPostBack
首先要明白Webform的运行顺序,当开始启动时候,首先执行的是Page_Load事件, 当点击任意按钮后,每次点击都要先执行一遍Page_Load(在这里Page_Load里面的事件是给数据控件加载 ...
- webform的三级联动
webform的三级联动 与winform一样,只不过需把DropDownList的AutoPostBack属性改为True. *简单日期的编写方法:用是三个DropDownList分别代表年月日,用 ...
- webForm(三)——三级联动
三级联动 首先附图一张,初步认识一下什么是三级联动: 注:选第一个后面两个变,选第二个,最后一个改变. 其次,做三级联动需要注意的方面:①DropD ...
- 注册页面的验证 WEB的三级联动
1.js中window.onload = function () {};表示当页面都加载完了之后才走里面的内容. 2.当函数中遇到return时,会跳出函数,return后面的内容不再继续进行,就是后 ...
- Hibernate+struts+JqueryAjax+jSON实现无刷新三级联动
看网上JqueryAjax三级联动的例子讲不是很全,代码也给的不是很全,给初学者带来一定的难度.小弟自己写了一个,可能有些地方不是很好,希望大家能够提出建议. 用的是Hibernate+struts2 ...
- java的JCombobox实现中国省市区三级联动
源代码下载:点击下载源代码 用xml存储中国各大城市的数据. xml数据太多了就不贴上了,贴个图片: 要解释xml,添加了一个jdom.jar,上面的源代码下载里面有. 解释xml的类: packag ...
随机推荐
- C# 谁改了我的代码 使用 Resharper 快速做适配器
C# 谁改了我的代码 本文告诉大家一个特殊的做法,可以修改一个字符串常量 我们来写一个简单的程序,把一个常量字符串输出 private const string str = "linde ...
- Python的调用程序
任务 调用系统命令ping 判断局域网内有哪些主机存活 假设你用c语言写了一个算法,需要对该算法进行测试.测试的数据集几百个.这时可以使用过GCC生成test.exe,再使用python批量调用该ex ...
- Qt学习--初学注意事项
过程.心得: 1)Qt Creator与相关的安装包的安装 我在选择去学习Qt之后,第一件事就是Qt SDK下载安装与配置.最初,在网上发现Qt使用的IDE环境 在Windows上可以选 ...
- C语言 字符串操作 笔记
/* C语言字符串的操作笔记 使用代码和注释结合方式记录 */ # include <stdio.h> # include <string.h> int main(void) ...
- 加密壳之ACProtect之OEP的处理
菜驹也玩加密壳之ACProtect之OEP的处理 附件下载:加壳文件和pdf 1. 加密过程: ACProctect v1.41版本号 分析对OEP入口点代码的偷取 2. 分析过程 ...
- spring的PROPAGATION_REQUIRES_NEW事务,下列说法正确的是(D)
A:内部事务回滚会导致外部事务回滚 B:内部事务回滚了,外部事务仍可以提交 C:外部事务回滚了,内部事务也跟着回滚 D:外部事务回滚了,内部事务仍可以提交 PROPAGATION_REQUIRES_N ...
- assert的作用是什么
assert()宏是用于保证满足某个特定条件,用法是: assert(表达式); 如果表达式的值为假,整个程序将退出,并输出一条错误信息.如果表达式的值为真则继续执行后面的语句. 使用这个宏前需要包含 ...
- 并不对劲的trie树
听上去像是破坏植物的暴力行为(并不). 可以快速查询某个字符串在某个字符串集中出现了几次,而且听上去比字符串哈希靠谱. 把整个字符串集建成树,边权是字符,对于字符串结尾的节点进行特殊标记. 这样一方面 ...
- CodeForces-652D:Nested Segments(树状数组+离散化)
You are given n segments on a line. There are no ends of some segments that coincide. For each segme ...
- bzoj 1731 Layout 排队布局 —— 差分约束
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1731 差分约束: ML: dis[y] - dis[x] <= k,即 x 向 y 连 ...