Asp.net 2.0 一个简单的联动DropDownList示例(示例代码下载)

ASP.NET DropDownList联动示例
本文介绍了一种ASP.NET中实现DropDownList联动的方法。通过使用自定义控件RelatedList,并结合XML文件或DataSet作为数据源,实现了根据用户选择动态更新下拉列表的功能。提供了完整的页面前台及后台代码。
2006年12月21日 18:46:00

说明: 偶发现个比较好的联动组件, 控件从网上找的, 比较好用,如下:

(一). 示例图片
(二). 详细代码
1. 页面前台代码
1 > body <
2 > form id = " form1 " runat = " server " <
3 > div <
4 & nbsp; & nbsp; > asp:Panel ID = " Panel2 " runat = " server " BackColor = " #FFC080 " Font - Size = " X-Large "
5 ForeColor = " #C04000 " Height = " 50px " Width = " 387px " <
6 DropDownList 联动示例: >/ asp:Panel <
7 > asp:Panel ID = " Panel1 " runat = " server " BackColor = " #C0C0FF " Height = " 170px " Width = " 387px " <
8 > br /<
9 请选择类别: > br /<
10 > br /<
11 & nbsp;
12 > asp:DropDownList ID = " ddl1 " runat = " server " <
13 >/ asp:DropDownList <& nbsp;
14 > asp:DropDownList ID = " ddl2 " runat = " server " <
15 >/ asp:DropDownList <& nbsp;
16 > asp:DropDownList ID = " ddl3 " runat = " server " <
17 >/ asp:DropDownList <& nbsp; & nbsp; > br /<
18 > br /<
19 & nbsp;
20 > C1:RelatedList id = " rl1 " runat = " server " <>/ C1:RelatedList <
21 > asp:Button ID = " btOK " runat = " server " OnClick = " Button1_Click " Text = " 取值 " Width = " 67px " /<
22 >/ asp:Panel <
23 >/ div <
24 >/ form <
25 >/ body <
26

2.页面后台代码

1 protected void Page_Load( object sender, EventArgs e)
2 {
3 if (!Page.IsPostBack)
4 {
5 ArrayList Category = new ArrayList();
6 Category.Add("ddl1");
7 Category.Add("ddl2");
8 Category.Add("ddl3");
9
10 //Method 1. 指定XML文件路径
11 rl1.DataSource = @"Category.xml";
12
13 ////Method 2. 指定数据源为DataSet对象
14 //DataSet ds = new DataSet();
15 //ds = GetData();
16 //rl1.DataSource = ds;
17
18
19 rl1.ListID = Category;
20 rl1.DataBind();
21
22 }

23 }

24 private DataSet GetData()
25 {
26 DataSet ds = new DataSet();
27 DataTable dt = new DataTable();
28 dt.Columns.Add(new DataColumn("Value", typeof(int)));
29 dt.Columns.Add(new DataColumn("Context", typeof(string)));
30 dt.Columns.Add(new DataColumn("ParentValue", typeof(int)));
31 DataRow drNew = dt.NewRow();
32 drNew["Value"] = 1;
33 drNew["Context"] = "水果";
34 drNew["ParentValue"] = 0;
35 dt.Rows.Add(drNew);
36
37 drNew = dt.NewRow();
38 drNew["Value"] = 2;
39 drNew["Context"] = "动物";
40 drNew["ParentValue"] = 0;
41 dt.Rows.Add(drNew);
42
43 drNew = dt.NewRow();
44 drNew["Value"] = 3;
45 drNew["Context"] = "葡萄";
46 drNew["ParentValue"] = 1;
47 dt.Rows.Add(drNew);
48
49 drNew = dt.NewRow();
50 drNew["Value"] = 7;
51 drNew["Context"] = "红葡萄";
52 drNew["ParentValue"] = 3;
53 dt.Rows.Add(drNew);
54
55 drNew = dt.NewRow();
56 drNew["Value"] = 8;
57 drNew["Context"] = "柴葡萄";
58 drNew["ParentValue"] = 3;
59 dt.Rows.Add(drNew);
60
61 drNew = dt.NewRow();
62 drNew["Value"] = 4;
63 drNew["Context"] = "桔子";
64 drNew["ParentValue"] = 1;
65 dt.Rows.Add(drNew);
66
67 drNew = dt.NewRow();
68 drNew["Value"] = 12;
69 drNew["Context"] = "红桔子";
70 drNew["ParentValue"] = 4;
71 dt.Rows.Add(drNew);
72
73 drNew = dt.NewRow();
74 drNew["Value"] = 13;
75 drNew["Context"] = "绿桔子";
76 drNew["ParentValue"] = 4;
77 dt.Rows.Add(drNew);
78
79 drNew = dt.NewRow();
80 drNew["Value"] = 5;
81 drNew["Context"] = "香蕉";
82 drNew["ParentValue"] = 1;
83 dt.Rows.Add(drNew);
84
85 drNew = dt.NewRow();
86 drNew["Value"] = 14;
87 drNew["Context"] = "";
88 drNew["ParentValue"] = 2;
89 dt.Rows.Add(drNew);
90
91 drNew = dt.NewRow();
92 drNew["Value"] = 15;
93 drNew["Context"] = "红马";
94 drNew["ParentValue"] = 14;
95 dt.Rows.Add(drNew);
96
97 drNew = dt.NewRow();
98 drNew["Value"] = 16;
99 drNew["Context"] = "白马";
100 drNew["ParentValue"] = 14;
101 dt.Rows.Add(drNew);
102
103 drNew = dt.NewRow();
104 drNew["Value"] = 17;
105 drNew["Context"] = "蓝马";
106 drNew["ParentValue"] = 14;
107 dt.Rows.Add(drNew);
108
109 drNew = dt.NewRow();
110 drNew["Value"] = 18;
111 drNew["Context"] = "";
112 drNew["ParentValue"] = 2;
113 dt.Rows.Add(drNew);
114
115 ds.Tables.Add(dt);
116 return ds;
117 }

118 protected void Button1_Click( object sender, EventArgs e)
119 {
120 Response.Write(">script " + this.ddl1.SelectedItem.Text + "," + this.ddl2.SelectedItem.Text + "," +
121 this.ddl3.SelectedItem.Text + "');>/script<");
122}

123

(三).示例代码下载

http://www.cnblogs.com/Files/ChengKing/LinkageDropDownList.rar



Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1452146


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值