使用 AjaxPro 开发四级无刷新联动下拉框

开发环境 VS.NET 2005    C#    Oracle   AjaxPro   

最近忙没时间详细解释,先把通用的源码贴出自己看。

出于对性能的考虑,把省市两级写成JS数组,把县区(镇)两级写在 Oracle 里。通过 JS 触发 C# 去读取数据库,然后将数据回传给 JS ,再绑定显示。

操作 <select> 采用更通用的 createElement() 而没有使用 options.add()

 

<% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " Area.aspx.cs "  Inherits = " Area "   %>

<! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >

< html xmlns = " http://www.w3.org/1999/xhtml "   >
< head runat = " server " >
    
< title > 地区 </ title >
</ head >
< body >
    
< form id = " form1 "  runat = " server " >
        
< table >
            
< tr >
                
< td >
                    
< select id = " SF " >
                        
< option selected = " selected " > —请选择— </ option >
                    
</ select >
                
</ td >
                
< td >
                    
< select id = " CS " >
                        
< option selected = " selected " > —请选择— </ option >
                    
</ select >
                
</ td >
                
< td >
                    
< select id = " Xian " >
                        
< option selected = " selected " > —请选择— </ option >
                    
</ select >
                
</ td >
                
< td >
                    
< select id = " Zhen " >
                        
< option selected = " selected " > —请选择— </ option >
                    
</ select >
                
</ td >
            
</ tr >
        
</ table >

< script type = " text/javascript " >
var  aDQ = new  Array();
    // id  城市名  所属省份id  域名
aDQ[
0 ] = [ " 11 " , " 北京 " , " 0 " , " bj " ];
aDQ[
1 ] = [ " 12 " , " 天津 " , " 0 " , " tj " ];
aDQ[
2 ] = [ " 13 " , " 河北 " , " 0 " , " hb " ];
aDQ[
3 ] = [ " 14 " , " 山西 " , " 0 " , " shang " ];
aDQ[
4 ] = [ " 15 " , " 内蒙古 " , " 0 " , " nmg " ];
aDQ[
5 ] = [ " 21 " , " 辽宁 " , " 0 " , " ln " ];
aDQ[
6 ] = [ " 22 " , " 吉林 " , " 0 " , " jl " ];
aDQ[
7 ] = [ " 23 " , " 黑龙江 " , " 0 " , " hlj " ];
aDQ[
8 ] = [ " 31 " , " 上海 " , " 0 " , " sh " ];
aDQ[
9 ] = [ " 32 " , " 江苏 " , " 0 " , " js " ];
aDQ[
10 ] = [ " 33 " , " 浙江 " , " 0 " , " zhej " ];
aDQ[
11 ] = [ " 34 " , " 安徽 " , " 0 " , " ah " ];
aDQ[
12 ] = [ " 35 " , " 福建 " , " 0 " , " fj " ];
aDQ[
13 ] = [ " 36 " , " 江西 " , " 0 " , " jw " ];
aDQ[
14 ] = [ " 37 " , " 山东 " , " 0 " , " sd " ];
aDQ[
15 ] = [ " 41 " , " 河南 " , " 0 " , " he " ];
aDQ[
16 ] = [ " 42 " , " 湖北 " , " 0 " , " hu " ];
aDQ[
17 ] = [ " 43 " , " 湖南 " , " 0 " , " hn " ];
aDQ[
18 ] = [ " 44 " , " 广东 " , " 0 " , " gd " ];
aDQ[
19 ] = [ " 45 " , " 广西 " , " 0 " , " gx " ];
aDQ[
20 ] = [ " 46 " , " 海南 " , " 0 " , " hain " ];
aDQ[
21 ] = [ " 50 " , " 重庆 " , " 0 " , " cq " ];
aDQ[
22 ] = [ " 51 " , " 四川 " , " 0 " , " sc " ];
aDQ[
23 ] = [ " 52 " , " 贵州 " , " 0 " , " gui " ];
aDQ[
24 ] = [ " 53 " , " 云南 " , " 0 " , " yn " ];
aDQ[
25 ] = [ " 54 " , " 西藏 " , " 0 " , " wc " ];
aDQ[
26 ] = [ " 61 " , " 陕西 " , " 0 " , " shangx " ];
aDQ[
27 ] = [ " 62 " , " 甘肃 " , " 0 " , " gs " ];
aDQ[
28 ] = [ " 63 " , " 青海 " , " 0 " , " qh " ];
aDQ[
29 ] = [ " 64 " , " 宁夏 " , " 0 " , " nx " ];
aDQ[
30 ] = [ " 65 " , " 新疆 " , " 0 " , " xj " ];
aDQ[
31 ] = [ " 71 " , " 台湾 " , " 0 " , " tw " ];
aDQ[
32 ] = [ " 81 " , " 香港 " , " 0 " , " xg " ];
aDQ[
33 ] = [ " 82 " , " 澳门 " , " 0 " , " am " ];
aDQ[
34 ] = [ " 1101 " , " 北京城区 " , " 11 " , " bjcq " ];
aDQ[
35 ] = [ " 1102 " , " 北京县区 " , " 11 " , " bjxq " ];
aDQ[
36 ] = [ " 1201 " , " 天津城区 " , " 12 " , " tjcq " ];
aDQ[
37 ] = [ " 1202 " , " 天津县区 " , " 12 " , " tjxq " ];
aDQ[
38 ] = [ " 1301 " , " 石家庄 " , " 13 " , " sjz " ];
aDQ[
39 ] = [ " 1302 " , " 唐山 " , " 13 " , " hbts " ];
aDQ[
40 ] = [ " 1303 " , " 秦皇岛 " , " 13 " , " qhd " ];
aDQ[
41 ] = [ " 1304 " , " 邯郸 " , " 13 " , " hd " ];
aDQ[
42 ] = [ " 1305 " , " 邢台 " , " 13 " , " hbxt " ];
aDQ[
43 ] = [ " 1306 " , " 保定 " , " 13 " , " bd " ];
aDQ[
44 ] = [ " 1307 " , " 张家口 " , " 13 " , " zjk " ];
aDQ[
45 ] = [ " 1308 " , " 承德 " , " 13 " , " cd " ];
aDQ[
46 ] = [ " 1309 " , " 沧州 " , " 13 " , " hbcz " ];
aDQ[
47 ] = [ " 1310 " , " 廊坊 " , " 13 " , " lf " ];
aDQ[
48 ] = [ " 1311 " , " 衡水 " , " 13 " , " hbhs " ];
aDQ[
49 ] = [ " 1401 " , " 太原 " , " 14 " , " ty " ];
aDQ[
50 ] = [ " 1402 " , " 大同 " , " 14 " , " dt " ];
aDQ[
51 ] = [ " 1403 " , " 阳泉 " , " 14 " , " yq " ];
aDQ[
52 ] = [ " 1404 " , " 长治 " , " 14 " , " swcz " ];
aDQ[
53 ] = [ " 1405 " , " 晋城 " , " 14 " , " swjc " ];
aDQ[
54 ] = [ " 1406 " , " 朔州 " , " 14 " , " swsz " ];
aDQ[
55 ] = [ " 1501 " , " 呼和浩特 " , " 15 " , " hhht " ];
aDQ[
56 ] = [ " 1502 " , " 包头 " , " 15 " , " bt " ];
aDQ[
57 ] = [ " 1503 " , " 乌海 " , " 15 " , " nmgwh " ];
aDQ[
58 ] = [ " 1504 " , " 赤峰 " , " 15 " , " cf " ];
aDQ[
59 ] = [ " 1521 " , " 呼伦贝尔盟 " , " 15 " , " hlbem " ];
aDQ[
60 ] = [ " 1522 " , " 兴安盟 " , " 15 " , " xam " ];
aDQ[
61 ] = [ " 1523 " , " 哲里木盟 " , " 15 " , " zlmm " ];
aDQ[
62 ] = [ " 1525 " , " 锡林郭勒盟 " , " 15 " , " wlglm " ];
aDQ[
63 ] = [ " 1526 " , " 乌兰察布盟 " , " 15 " , " wlcbm " ];
aDQ[
64 ] = [ " 1527 " , " 鄂尔多斯 " , " 15 " , " eeds " ];
aDQ[
65 ] = [ " 1528 " , " 巴彦淖尔盟 " , " 15 " , " bynem " ];
aDQ[
66 ] = [ " 1529 " , " 阿拉善盟 " , " 15 " , " alsm " ];
aDQ[
67 ] = [ " 2101 " , " 沈阳 " , " 21 " , " lnsy " ];
aDQ[
68 ] = [ " 2102 " , " 大连 " , " 21 " , " dl " ];
aDQ[
69 ] = [ " 2103 " , " 鞍山 " , " 21 " , " as " ];
aDQ[
70 ] = [ " 2104 " , " 抚顺 " , " 21 " , " lnfs " ];
aDQ[
71 ] = [ " 2105 " , " 本溪 " , " 21 " , " bx " ];
aDQ[
72 ] = [ " 2106 " , " 丹东 " , " 21 " , " dd " ];
aDQ[
73 ] = [ " 2107 " , " 锦州 " , " 21 " , " jz " ];
aDQ[
74 ] = [ " 2108 " , " 营口 " , " 21 " , " yk " ];
aDQ[
75 ] = [ " 2109 " , " 阜新 " , " 21 " , " fx " ];
aDQ[
76 ] = [ " 2110 " , " 辽阳 " , " 21 " , " lnly " ];
aDQ[
77 ] = [ " 2111 " , " 盘锦 " , " 21 " , " pj " ];
aDQ[
78 ] = [ " 2112 " , " 铁岭 " , " 21 " , " lntl " ];
aDQ[
79 ] = [ " 2113 " , " 朝阳 " , " 21 " , " cy " ];
aDQ[
80 ] = [ " 2114 " , " 葫芦岛 " , " 21 " , " hld " ];
aDQ[
81 ] = [ " 2201 " , " 长春 " , " 22 " , " cc " ];
aDQ[
82 ] = [ " 2202 " , " 吉林 " , " 22 " , " jljl " ];
aDQ[
83 ] = [ " 2203 " , " 四平 " , " 22 " , " sp " ];
aDQ[
84 ] = [ " 2204 " , " 辽源 " , " 22 " , " jlly " ];
aDQ[
85 ] = [ " 2205 " , " 通化 " , " 22 " , " th " ];
aDQ[
86 ] = [ " 2206 " , " 白山 " , " 22 " , " bs " ];
aDQ[
87 ] = [ " 2207 " , " 松原 " , " 22 " , " jlsy " ];
aDQ[
88 ] = [ " 2208 " , " 白城 " , " 22 " , " bc " ];
aDQ[
89 ] = [ " 2224 " , " 延边 " , " 22 " , " jlyb " ];
aDQ[
90 ] = [ " 2301 " , " 哈尔滨 " , " 23 " , " heb " ];
aDQ[
91 ] = [ " 2302 " , " 齐齐哈尔 " , " 23 " , " qqhe " ];
aDQ[
92 ] = [ " 2303 " , " 鸡西 " , " 23 " , " hljjw " ];
aDQ[
93 ] = [ " 2304 " , " 鹤岗 " , " 23 " , " hg " ];
aDQ[
94 ] = [ " 2305 " , " 双鸭山 " , " 23 " , " sys " ];
aDQ[
95 ] = [ " 2306 " , " 大庆 " , " 23 " , " dq " ];
aDQ[
96 ] = [ " 2307 " , " 伊春 " , " 23 " , " hljyc " ];
aDQ[
97 ] = [ " 2308 " , " 佳木斯 " , " 23 " , " jms " ];
aDQ[
98 ] = [ " 2309 " , " 七台河 " , " 23 " , " qth " ];
aDQ[
99 ] = [ " 2310 " , " 牡丹江 " , " 23 " , " mdj " ];
aDQ[
100 ] = [ " 2311 " , " 黑河 " , " 23 " , " hh " ];
aDQ[
101 ] = [ " 3101 " , " 上海市区 " , " 31 " , " shsq " ];
aDQ[
102 ] = [ " 3102 " , " 上海县区 " , " 31 " , " shxq " ];
aDQ[
103 ] = [ " 3201 " , " 南京 " , " 32 " , " nj " ];
aDQ[
104 ] = [ " 3202 " , " 无锡 " , " 32 " , " ww " ];
aDQ[
105 ] = [ " 3203 " , " 徐州 " , " 32 " , " xz " ];
aDQ[
106 ] = [ " 3204 " , " 常州 " , " 32 " , " jscz " ];
aDQ[
107 ] = [ " 3205 " , " 苏州 " , " 32 " , " shu " ];
aDQ[
108 ] = [ " 3206 " , " 南通 " , " 32 " , " nt " ];
aDQ[
109 ] = [ " 3207 " , " 连云港 " , " 32 " , " lyg " ];
aDQ[
110 ] = [ " 3208 " , " 淮安 " , " 32 " , " ha " ];
aDQ[
111 ] = [ " 3209 " , " 盐城 " , " 32 " , " jsyc " ];
aDQ[
112 ] = [ " 3210 " , " 扬州 " , " 32 " , " yz " ];
aDQ[
113 ] = [ " 3211 " , " 镇江 " , " 32 " , " jszj " ];
aDQ[
114 ] = [ " 3212 " , " 泰州 " , " 32 " , " tz " ];
aDQ[
115 ] = [ " 3213 " , " 宿迁 " , " 32 " , " sq " ];
aDQ[
116 ] = [ " 3301 " , " 杭州 " , " 33 " , " han " ];
aDQ[
117 ] = [ " 3302 " , " 宁波 " , " 33 " , " nb " ];
aDQ[
118 ] = [ " 3303 " , " 温州 " , " 33 " , " zjwz " ];
aDQ[
119 ] = [ " 3304 " , " 嘉兴 " , " 33 " , " jx " ];
aDQ[
120 ] = [ " 3305 " , " 湖州 " , " 33 " , " zjhz " ];
aDQ[
121 ] = [ " 3306 " , " 绍兴 " , " 33 " , " sx " ];
aDQ[
122 ] = [ " 3307 " , " 金华 " , " 33 " , " jh " ];
aDQ[
123 ] = [ " 3308 " , " 衢州 " , " 33 " , " zjqz " ];
aDQ[
124 ] = [ " 3309 " , " 舟山 " , " 33 " , " zjzs " ];
aDQ[
125 ] = [ " 3310 " , " 台州 " , " 33 " , " zjtz " ];
aDQ[
126 ] = [ " 3311 " , " 义乌 " , " 33 " , " yw " ];
aDQ[
127 ] = [ " 3325 " , " 丽水 " , " 33 " , " zjls " ];
aDQ[
128 ] = [ " 3401 " , " 合肥 " , " 34 " , " hf " ];
aDQ[
129 ] = [ " 3402 " , " 芜湖 " , " 34 " , " wh " ];
aDQ[
130 ] = [ " 3403 " , " 蚌埠 " , " 34 " , " bb " ];
aDQ[
131 ] = [ " 3404 " , " 淮南 " , " 34 " , " hnx " ];
aDQ[
132 ] = [ " 3405 " , " 马鞍山 " , " 34 " , " mas " ];
aDQ[
133 ] = [ " 3406 " , " 淮北 " , " 34 " , " huib " ];
aDQ[
134 ] = [ " 3407 " , " 铜陵 " , " 34 " , " tl " ];
aDQ[
135 ] = [ " 3408 " , " 安庆 " , " 34 " , " aq " ];
aDQ[
136 ] = [ " 3410 " , " 黄山 " , " 34 " , " hs " ];
aDQ[
137 ] = [ " 3411 " , " 滁州 " , " 34 " , " ahcz " ];
aDQ[
138 ] = [ " 3412 " , " 阜阳 " , " 34 " , " fy " ];
aDQ[
139 ] = [ " 3413 " , " 宿州 " , " 34 " , " ahsz " ];
aDQ[
140 ] = [ " 3416 " , " 毫州 " , " 34 " , " ahhz " ];
aDQ[
141 ] = [ " 51011117 " , " 池州 " , " 34 " , "" ];
aDQ[
142 ] = [ " 51011118 " , " 六安 " , " 34 " , "" ];
aDQ[
143 ] = [ " 51011119 " , " 宣城  " , " 34 " , "" ];
aDQ[
144 ] = [ " 3501 " , " 福州 " , " 35 " , " fz " ];
aDQ[
145 ] = [ " 3502 " , " 厦门 " , " 35 " , " xm " ];
aDQ[
146 ] = [ " 3503 " , " 莆田 " , " 35 " , " pt " ];
aDQ[
147 ] = [ " 3504 " , " 三明 " , " 35 " , " sm " ];
aDQ[
148 ] = [ " 3505 " , " 泉州 " , " 35 " , " qz " ];
aDQ[
149 ] = [ " 3506 " , " 漳州 " , " 35 " , " fzz " ];
aDQ[
150 ] = [ " 3507 " , " 南平 " , " 35 " , " np " ];
aDQ[
151 ] = [ " 3508 " , " 龙岩 " , " 35 " , " fjly " ];
aDQ[
152 ] = [ " 3509 " , " 宁德 " , " 35 " , " fjnd " ];
aDQ[
153 ] = [ " 3601 " , " 南昌 " , " 36 " , " jwnc " ];
aDQ[
154 ] = [ " 3602 " , " 景德镇 " , " 36 " , " jdz " ];
aDQ[
155 ] = [ " 3603 " , " 萍乡 " , " 36 " , " px " ];
aDQ[
156 ] = [ " 3604 " , " 九江 " , " 36 " , " jj " ];
aDQ[
157 ] = [ " 3605 " , " 新余 " , " 36 " , " xy " ];
aDQ[
158 ] = [ " 3606 " , " 鹰潭 " , " 36 " , " jwyt " ];
aDQ[
159 ] = [ " 3607 " , " 赣州 " , " 36 " , " jwgz " ];
aDQ[
160 ] = [ " 3701 " , " 济南 " , " 37 " , " jn " ];
aDQ[
161 ] = [ " 3702 " , " 青岛 " , " 37 " , " qd " ];
aDQ[
162 ] = [ " 3703 " , " 淄博 " , " 37 " , " zb " ];
aDQ[
163 ] = [ " 3704 " , " 枣庄 " , " 37 " , " sdzz " ];
aDQ[
164 ] = [ " 3705 " , " 东营 " , " 37 " , " sddy " ];
aDQ[
165 ] = [ " 3706 " , " 烟台 " , " 37 " , " yt " ];
aDQ[
166 ] = [ " 3707 " , " 潍坊 " , " 37 " , " wf " ];
aDQ[
167 ] = [ " 3708 " , " 济宁 " , " 37 " , " sdjn " ];
aDQ[
168 ] = [ " 3709 " , " 泰安 " , " 37 " , " ta " ];
aDQ[
169 ] = [ " 3710 " , " 威海 " , " 37 " , " sdwh " ];
aDQ[
170 ] = [ " 3711 " , " 日照 " , " 37 " , " rz " ];
aDQ[
171 ] = [ " 3712 " , " 莱芜 " , " 37 " , " lw " ];
aDQ[
172 ] = [ " 3713 " , " 临沂 " , " 37 " , " ly " ];
aDQ[
173 ] = [ " 3714 " , " 德州 " , " 37 " , " sddz " ];
aDQ[
174 ] = [ " 3715 " , " 聊城 " , " 37 " , " lc " ];
aDQ[
175 ] = [ " 4101 " , " 郑州 " , " 41 " , " zhen " ];
aDQ[
176 ] = [ " 4102 " , " 开封 " , " 41 " , " kf " ];
aDQ[
177 ] = [ " 4103 " , " 洛阳 " , " 41 " , " hnly " ];
aDQ[
178 ] = [ " 4104 " , " 平顶山 " , " 41 " , " pds " ];
aDQ[
179 ] = [ " 4105 " , " 安阳 " , " 41 " , " ay " ];
aDQ[
180 ] = [ " 4106 " , " 鹤壁 " , " 41 " , " hebi " ];
aDQ[
181 ] = [ " 4107 " , " 新乡 " , " 41 " , " xx " ];
aDQ[
182 ] = [ " 4108 " , " 焦作 " , " 41 " , " hnjz " ];
aDQ[
183 ] = [ " 4109 " , " 濮阳 " , " 41 " , " zy " ];
aDQ[
184 ] = [ " 4110 " , " 许昌 " , " 41 " , " xc " ];
aDQ[
185 ] = [ " 4111 " , " 漯河 " , " 41 " , " zhe " ];
aDQ[
186 ] = [ " 4112 " , " 三门峡 " , " 41 " , " smx " ];
aDQ[
187 ] = [ " 4113 " , " 南阳 " , " 41 " , " ny " ];
aDQ[
188 ] = [ " 4114 " , " 商丘 " , " 41 " , " hnsq " ];
aDQ[
189 ] = [ " 4115 " , " 信阳 " , " 41 " , " hnxy " ];
aDQ[
190 ] = [ " 4201 " , " 武汉 " , " 42 " , " hbwh " ];
aDQ[
191 ] = [ " 4202 " , " 黄石 " , " 42 " , " hhs " ];
aDQ[
192 ] = [ " 4203 " , " 十堰 " , " 42 " , " sy " ];
aDQ[
193 ] = [ " 4205 " , " 宜昌 " , " 42 " , " hbyc " ];
aDQ[
194 ] = [ " 4206 " , " 襄樊 " , " 42 " , " xf " ];
aDQ[
195 ] = [ " 4207 " , " 鄂州 " , " 42 " , " ez " ];
aDQ[
196 ] = [ " 4208 " , " 荆门 " , " 42 " , " hbjm " ];
aDQ[
197 ] = [ " 4209 " , " 孝感 " , " 42 " , " hbxg " ];
aDQ[
198 ] = [ " 4210 " , " 荆州 " , " 42 " , " hbjz " ];
aDQ[
199 ] = [ " 4211 " , " 黄冈 " , " 42 " , " hbhg " ];
aDQ[
200 ] = [ " 4212 " , " 咸宁 " , " 42 " , " xn " ];
aDQ[
201 ] = [ " 4228 " , " 恩施 " , " 42 " , " es " ];
aDQ[
202 ] = [ " 4301 " , " 长沙 " , " 43 " , " cs " ];
aDQ[
203 ] = [ " 4302 " , " 株洲 " , " 43 " , " hnzz " ];
aDQ[
204 ] = [ " 4303 " , " 湘潭 " , " 43 " , " xt " ];
aDQ[
205 ] = [ " 4304 " , " 衡阳 " , " 43 " , " hnhy " ];
aDQ[
206 ] = [ " 4305 " , " 邵阳 " , " 43 " , " shao " ];
aDQ[
207 ] = [ " 4306 " , " 岳阳 " , " 43 " , " yy " ];
aDQ[
208 ] = [ " 4307 " , " 常德 " , " 43 " , " hncd " ];
aDQ[
209 ] = [ " 4308 " , " 张家界 " , " 43 " , " zjj " ];
aDQ[
210 ] = [ " 4309 " , " 益阳 " , " 43 " , " hnyy " ];
aDQ[
211 ] = [ " 4310 " , " 郴州 " , " 43 " , " hncz " ];
aDQ[
212 ] = [ " 4311 " , " 永州 " , " 43 " , " hnyz " ];
aDQ[
213 ] = [ " 4312 " , " 怀化 " , " 43 " , " hnhh " ];
aDQ[
214 ] = [ " 4331 " , " 湘西 " , " 43 " , " xw " ];
aDQ[
215 ] = [ " 4401 " , " 广州 " , " 44 " , " gz " ];
aDQ[
216 ] = [ " 4402 " , " 韶关 " , " 44 " , " sg " ];
aDQ[
217 ] = [ " 4403 " , " 深圳 " , " 44 " , " sz " ];
aDQ[
218 ] = [ " 4404 " , " 珠海 " , " 44 " , " zh " ];
aDQ[
219 ] = [ " 4405 " , " 汕头 " , " 44 " , " st " ];
aDQ[
220 ] = [ " 4406 " , " 佛山 " , " 44 " , " fs " ];
aDQ[
221 ] = [ " 4407 " , " 江门 " , " 44 " , " jm " ];
aDQ[
222 ] = [ " 4408 " , " 湛江 " , " 44 " , " zj " ];
aDQ[
223 ] = [ " 4409 " , " 茂名 " , " 44 " , " mm " ];
aDQ[
224 ] = [ " 4412 " , " 肇庆 " , " 44 " , " zq " ];
aDQ[
225 ] = [ " 4413 " , " 惠州 " , " 44 " , " hz " ];
aDQ[
226 ] = [ " 4414 " , " 梅州 " , " 44 " , " mz " ];
aDQ[
227 ] = [ " 4415 " , " 汕尾 " , " 44 " , " shanw " ];
aDQ[
228 ] = [ " 4416 " , " 河源 " , " 44 " , " hy " ];
aDQ[
229 ] = [ " 4417 " , " 阳江 " , " 44 " , " yj " ];
aDQ[
230 ] = [ " 4418 " , " 清远 " , " 44 " , " qy " ];
aDQ[
231 ] = [ " 4419 " , " 东莞 " , " 44 " , " dz " ];
aDQ[
232 ] = [ " 4420 " , " 中山 " , " 44 " , " zs " ];
aDQ[
233 ] = [ " 4451 " , " 潮州 " , " 44 " , " cz " ];
aDQ[
234 ] = [ " 4452 " , " 揭阳 " , " 44 " , " jy " ];
aDQ[
235 ] = [ " 4453 " , " 云浮 " , " 44 " , " yf " ];
aDQ[
236 ] = [ " 4501 " , " 南宁 " , " 45 " , " nn " ];
aDQ[
237 ] = [ " 4502 " , " 柳州 " , " 45 " , " lz " ];
aDQ[
238 ] = [ " 4503 " , " 桂林 " , " 45 " , " gwgl " ];
aDQ[
239 ] = [ " 4504 " , " 梧州 " , " 45 " , " gwwz " ];
aDQ[
240 ] = [ " 4505 " , " 北海 " , " 45 " , " bh " ];
aDQ[
241 ] = [ " 4506 " , " 防城港 " , " 45 " , " fcg " ];
aDQ[
242 ] = [ " 4507 " , " 钦州 " , " 45 " , " gqz " ];
aDQ[
243 ] = [ " 4508 " , " 贵港 " , " 45 " , " gg " ];
aDQ[
244 ] = [ " 4509 " , " 玉林 " , " 45 " , " yl " ];
aDQ[
245 ] = [ " 4601 " , " 海口 " , " 46 " , " hk " ];
aDQ[
246 ] = [ " 4602 " , " 三亚 " , " 46 " , " hnsy " ];
aDQ[
247 ] = [ " 5002 " , " 重庆县区 " , " 50 " , " zqxq " ];
aDQ[
248 ] = [ " 5003 " , " 重庆城区 " , " 50 " , " zqcq " ];
aDQ[
249 ] = [ " 5101 " , " 成都 " , " 51 " , " sccd " ];
aDQ[
250 ] = [ " 5103 " , " 自贡 " , " 51 " , " zg " ];
aDQ[
251 ] = [ " 5104 " , " 攀枝花 " , " 51 " , " pzh " ];
aDQ[
252 ] = [ " 5105 " , " 泸州 " , " 51 " , " sczz " ];
aDQ[
253 ] = [ " 5106 " , " 德阳 " , " 51 " , " dy " ];
aDQ[
254 ] = [ " 5107 " , " 绵阳 " , " 51 " , " my " ];
aDQ[
255 ] = [ " 5108 " , " 广元 " , " 51 " , " gy " ];
aDQ[
256 ] = [ " 5109 " , " 遂宁 " , " 51 " , " sn " ];
aDQ[
257 ] = [ " 5110 " , " 内江 " , " 51 " , " scnj " ];
aDQ[
258 ] = [ " 5111 " , " 乐山 " , " 51 " , " ls " ];
aDQ[
259 ] = [ " 5113 " , " 南充 " , " 51 " , " nc " ];
aDQ[
260 ] = [ " 5115 " , " 宜宾 " , " 51 " , " yb " ];
aDQ[
261 ] = [ " 5116 " , " 广安 " , " 51 " , " ga " ];
aDQ[
262 ] = [ " 5130 " , " 达州 " , " 51 " , " scdz " ];
aDQ[
263 ] = [ " 5132 " , " 阿坝 " , " 51 " , " ab " ];
aDQ[
264 ] = [ " 5133 " , " 甘孜 " , " 51 " , " scgz " ];
aDQ[
265 ] = [ " 5134 " , " 凉山 " , " 51 " , " scls " ];
aDQ[
266 ] = [ " 5201 " , " 贵阳 " , " 52 " , " gzgy " ];
aDQ[
267 ] = [ " 5202 " , " 六盘水 " , " 52 " , " lps " ];
aDQ[
268 ] = [ " 5203 " , " 遵义 " , " 52 " , " gzzy " ];
aDQ[
269 ] = [ " 5223 " , " 黔西南 " , " 52 " , " qwn " ];
aDQ[
270 ] = [ " 5226 " , " 黔东南 " , " 52 " , " qdn " ];
aDQ[
271 ] = [ " 5227 " , " 黔南 " , " 52 " , " qn " ];
aDQ[
272 ] = [ " 5301 " , " 昆明 " , " 53 " , " km " ];
aDQ[
273 ] = [ " 5303 " , " 曲靖 " , " 53 " , " qj " ];
aDQ[
274 ] = [ " 5304 " , " 玉溪 " , " 53 " , " yx " ];
aDQ[
275 ] = [ " 5323 " , " 楚雄 " , " 53 " , " cx " ];
aDQ[
276 ] = [ " 5325 " , " 红河 " , " 53 " , " ynhh " ];
aDQ[
277 ] = [ " 5326 " , " 文山 " , " 53 " , " ws " ];
aDQ[
278 ] = [ " 5328 " , " 西双版纳 " , " 53 " , " wsbn " ];
aDQ[
279 ] = [ " 5329 " , " 大理 " , " 53 " , " yndl " ];
aDQ[
280 ] = [ " 5331 " , " 德宏 " , " 53 " , " dh " ];
aDQ[
281 ] = [ " 5333 " , " 怒江 " , " 53 " , " nuj " ];
aDQ[
282 ] = [ " 5334 " , " 迪庆 " , " 53 " , " yndq " ];
aDQ[
283 ] = [ " 51010963 " , " 丽江市 " , " 53 " , " ljs " ];
aDQ[
284 ] = [ " 51012663 " , " 保山 " , " 53 " , "" ];
aDQ[
285 ] = [ " 5401 " , " 拉萨 " , " 54 " , " wcls " ];
aDQ[
286 ] = [ " 6101 " , " 西安 " , " 61 " , " wa " ];
aDQ[
287 ] = [ " 6102 " , " 铜川 " , " 61 " , " tc " ];
aDQ[
288 ] = [ " 6103 " , " 宝鸡 " , " 61 " , " swbj " ];
aDQ[
289 ] = [ " 6104 " , " 咸阳 " , " 61 " , " swxy " ];
aDQ[
290 ] = [ " 6105 " , " 渭南 " , " 61 " , " swwn " ];
aDQ[
291 ] = [ " 6106 " , " 延安 " , " 61 " , " ya " ];
aDQ[
292 ] = [ " 6107 " , " 汉中 " , " 61 " , " swhz " ];
aDQ[
293 ] = [ " 6201 " , " 兰州 " , " 62 " , " gslz " ];
aDQ[
294 ] = [ " 6202 " , " 嘉峪关 " , " 62 " , " jyg " ];
aDQ[
295 ] = [ " 6203 " , " 金昌 " , " 62 " , " jc " ];
aDQ[
296 ] = [ " 6204 " , " 白银 " , " 62 " , " by " ];
aDQ[
297 ] = [ " 6205 " , " 天水 " , " 62 " , " ts " ];
aDQ[
298 ] = [ " 6229 " , " 临夏 " , " 62 " , " lx " ];
aDQ[
299 ] = [ " 6230 " , " 甘南 " , " 62 " , " gn " ];
aDQ[
300 ] = [ " 6301 " , " 西宁 " , " 63 " , " wn " ];
aDQ[
301 ] = [ " 6322 " , " 海北 " , " 63 " , " hai " ];
aDQ[
302 ] = [ " 6323 " , " 黄南 " , " 63 " , " huang " ];
aDQ[
303 ] = [ " 6325 " , " 海南 " , " 63 " , " qhhn " ];
aDQ[
304 ] = [ " 6326 " , " 果洛 " , " 63 " , " gl " ];
aDQ[
305 ] = [ " 6327 " , " 玉树 " , " 63 " , " ys " ];
aDQ[
306 ] = [ " 6328 " , " 海西 " , " 63 " , " hw " ];
aDQ[
307 ] = [ " 6401 " , " 银川 " , " 64 " , " yc " ];
aDQ[
308 ] = [ " 6402 " , " 石嘴山 " , " 64 " , " szs " ];
aDQ[
309 ] = [ " 6403 " , " 吴忠 " , " 64 " , " wz " ];
aDQ[
310 ] = [ " 6405 " , " 中卫 " , " 64 " , " zw " ];
aDQ[
311 ] = [ " 6501 " , " 乌鲁木齐 " , " 65 " , " wlmq " ];
aDQ[
312 ] = [ " 6502 " , " 克拉玛依 " , " 65 " , " klmy " ];
aDQ[
313 ] = [ " 6523 " , " 昌吉 " , " 65 " , " cj " ];
aDQ[
314 ] = [ " 6527 " , " 博尔塔拉 " , " 65 " , " betl " ];
aDQ[
315 ] = [ " 6528 " , " 巴音郭楞 " , " 65 " , " bygl " ];
aDQ[
316 ] = [ " 6530 " , " 克孜勒苏柯尔克孜 " , " 65 " , " kzlskekz " ];
aDQ[
317 ] = [ " 6540 " , " 伊犁 " , " 65 " , " xjyl " ];
aDQ[
318 ] = [ " 7101 " , " 台北 " , " 71 " , "" ];
aDQ[
319 ] = [ " 7102 " , " 宜兰 " , " 71 " , "" ];
aDQ[
320 ] = [ " 7103 " , " 桃园 " , " 71 " , "" ];
aDQ[
321 ] = [ " 7104 " , " 新竹 " , " 71 " , "" ];
aDQ[
322 ] = [ " 7105 " , " 苗栗 " , " 71 " , "" ];
aDQ[
323 ] = [ " 7106 " , " 台中 " , " 71 " , "" ];
aDQ[
324 ] = [ " 7107 " , " 彰化 " , " 71 " , "" ];
aDQ[
325 ] = [ " 7108 " , " 南投 " , " 71 " , "" ];
aDQ[
326 ] = [ " 7109 " , " 云林 " , " 71 " , "" ];
aDQ[
327 ] = [ " 7110 " , " 嘉义 " , " 71 " , "" ];
aDQ[
328 ] = [ " 7111 " , " 台南 " , " 71 " , "" ];
aDQ[
329 ] = [ " 7112 " , " 高雄 " , " 71 " , "" ];
aDQ[
330 ] = [ " 7113 " , " 屏东 " , " 71 " , "" ];
aDQ[
331 ] = [ " 7114 " , " 台东 " , " 71 " , "" ];
aDQ[
332 ] = [ " 7115 " , " 花莲 " , " 71 " , "" ];
aDQ[
333 ] = [ " 7116 " , " 澎湖 " , " 71 " , "" ];
aDQ[
334 ] = [ " 7117 " , " 基隆 " , " 71 " , "" ];
aDQ[
335 ] = [ " 7118 " , " 金门 " , " 71 " , "" ];
aDQ[
336 ] = [ " 7119 " , " 马祖 " , " 71 " , "" ];
aDQ[
337 ] = [ " 8101 " , " 新界 " , " 81 " , "" ];
aDQ[
338 ] = [ " 8102 " , " 香港岛 " , " 81 " , "" ];
aDQ[
339 ] = [ " 8103 " , " 大屿山 " , " 81 " , "" ];
aDQ[
340 ] = [ " 8104 " , " 九龙 " , " 81 " , "" ];
aDQ[
341 ] = [ " 8201 " , " 澳门本岛 " , " 82 " , "" ];
aDQ[
342 ] = [ " 8202 " , " 凼仔 " , " 82 " , "" ];
aDQ[
343 ] = [ " 8203 " , " 路环 " , " 82 " , "" ];

// 通过 DOM 创建下拉框
//
obj:下拉框的 options 数据集
//
id:下拉框的 id
function  CreateDropDownList(obj,id)
...
{
    
var sel=document.getElementById(id);
    sel.options.length
=1;   //保存"—请选择—"
    //对于省份、城市常用 Array 存储,对于县、镇则用C#从数据库读取
    if(obj==null)return;
    
if(obj instanceof Array)
    ...
{
        
for(var i=0;i<obj.length;i++)
        ...
{
            
var op=document.createElement("option");
            op.setAttribute(
"value",obj[i][0]);
            
var txt=document.createTextNode(obj[i][1]);
            op.appendChild(txt);
            sel.appendChild(op);
        }

    }

    
else
    ...
{
        
for(var i=0;i<obj.Rows.length;i++)  //注意这里是 length 不是 Count
        ...{
            
var op=document.createElement("option");
            op.setAttribute(
"value",obj.Rows[i].ID);    //注意区分大小写
            var txt=document.createTextNode(obj.Rows[i].NAME);  //根 DataTable 的列名称要一致
            op.appendChild(txt);
            sel.appendChild(op);
        }

    }

    
//绑定下一个下拉框
    switch(id)
    ...
{
        
case "SF":sel.onchange=function()...{ClearXianZhen();CreateDropDownList(GetArray(this.value),"CS");};break;
        
case "CS":sel.onchange=function()...{ClearZhen();CreateDropDownList(Area.GetDataTable(this.value,AreaEnum.Xian).value,"Xian");};break;  //JS 向 C# 传递参数,并取得 C# 的返回值
        case "Xian":sel.onchange=function()...{CreateDropDownList(Area.GetDataTable(this.value,AreaEnum.Zhen).value,"Zhen");};break;   //返回值.value
        default:sel.onchange=function()...{alert(this.value);};break;
    }

}


// 执行入口
var  arr = GetArray( " 0 " );
CreateDropDownList(arr,
" SF " );

// 获取要求的数组
//
tar=所属的省份ID
function  GetArray(val)
...
{
    
var temp=new Array();
    
var j=0;
    
for(var i=0;i<aDQ.length;i++)
    ...
{
        
if(aDQ[i][2].toString()==val)
        ...
{
            temp[j]
=aDQ[i];
            
//temp[j].push(aDQ[i]);
            j++;
        }

    }

    
return temp;
}


// 清空"镇"下拉框
function  ClearZhen()
...
{
    CreateDropDownList(
null,"Zhen");
}

// 清空"县"和"镇"下拉框
function  ClearXianZhen()
...
{
    CreateDropDownList(
null,"Xian");
    CreateDropDownList(
null,"Zhen");
}


</ script >

    
</ form >
</ body >
</ html >

 

using  System;
using  System.Data;
using  System.Data.OracleClient;

public   partial   class  Area : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
//将C#的类和枚举分别注册到JS里
        AjaxPro.Utility.RegisterTypeForAjax(typeof(Area));
        AjaxPro.Utility.RegisterEnumForAjax(
typeof(AreaEnum));
    }


    
/// <summary>
    
/// 取得下拉框所需数据
    
/// </summary>
    
/// <param name="UpID">上一级ID</param>
    
/// <param name="ae">县/镇</param>
    
/// <returns>返回 DataTable</returns>

    [AjaxPro.AjaxMethod]
    
public DataTable GetDataTable(string UpID, AreaEnum ae)
    
{
        
if (String.IsNullOrEmpty(UpID))
            
return null;

        
string link = "server=XXX;user=XXX;pwd=XXX;";
        OracleConnection conn 
= new OracleConnection(link);

        
//Oracle 返回的 DataTable 里的列名全是大写,在页面取值时记得大写
        string sql;
        
if (Enum.Equals(ae, AreaEnum.Xian))
            sql 
= "SELECT id,name FROM City WHERE THREEID=0 AND TWOID=" + UpID;
        
else
            sql 
= "SELECT id,name FROM City WHERE THREEID=" + UpID;

        OracleDataAdapter adapter 
= new OracleDataAdapter(sql, conn);
        DataTable table 
= new DataTable();
        adapter.Fill(table);
        
return table;
    }

}


/// <summary>
/// 地区枚举
/// </summary>

public   enum  AreaEnum
{
    
/// <summary>
    
/// 县
    
/// </summary>

    Xian,
    
/// <summary>
    
/// 镇
    
/// </summary>

    Zhen
}

 到此基本功能实现,还有些功能(通过域名/IP来判断地区并直接绑定,将选择好的地区保存,方便的读/存城市信息以便做成控件 等等)。有空再写完。

记得在 Web.config 的 <system.web> 加入

< httpHandlers >
    
< add  verb ="POST,GET"  path ="ajaxpro/*.ashx"  type ="AjaxPro.AjaxHandlerFactory, AjaxPro.2" />
</ httpHandlers >
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值