文章探索:   分类:    关键字:  
  + 栏目导航
  + 相关文章
AJAX技术 vs 传统的ASP无刷新技术
AJAX之xmlHttp
漫谈Ajax在.Net中的使用
初步了解 ASP.NET AJAX 扩展
Ajax+GridView+Xml的简易留言薄
使用Ajax时的十个常犯的错误
asp.net ajax 和 asp.net 2.0中的file..
AJAX入门之深入理解JavaScript中的函..
网页数据的实时刷新
XMLHTTP对象封装技术
Ajax光环背后的隐患
AJAX支持的自动填充表单
AJAX如何与后台交互
asp.net ajax 使用updatepanel进行更..
使用AjaxPro开发四级无刷新联动下拉框
Ajax程序设计入门
什么是Ajax


技术教程 -> Ajax教程 ->  
使用AjaxPro开发四级无刷新联动下拉框
来源:转载   人气:1123   录入时间:2007-11-8
    开发环境 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();
   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 创建下拉框 http://www.knowsky.com/qq.asp
   //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>
   




Copyright(C)2007-2021 广州市佳沛数码科技有限公司 版权所有
公司地址: 广州市荔湾区东漖北路560号511室
电话:020-81803473 传真:020-81544987