CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

省市联动菜单问题-如何将已保存的用户的省份显示在联动菜单里=======================================

楼主chunsky(春天.NET)2006-03-04 15:07:31 在 .NET技术 / ASP.NET 提问

我做了一个二级的省市联动菜单,是客户端的  
  如果用户修改自己的省份和城市,怎么才能给这个联动菜单赋值呢?    
  我这样写不顶用:city.Value   =   sdr["city"].ToString();  
   
  --------------------------------------  
   
  联动如下:  
  <script   language="javascript">  
  <!--  
  var   where   =   new   Array(36);    
  function   comefrom(loca,locacity)   {   this.loca   =   loca;   this.locacity   =   locacity;   }    
  where[0]=   new   comefrom("请选择省份名","请选择城市名");  
  where[1]   =   new   comefrom("北京","|东城|西城|崇文|宣武|朝阳|丰台|石景山|海淀|门头沟|房山|通州|顺义|昌平|大兴|平谷|怀柔|密云|延庆");    
  where[2]   =   new   comefrom("上海","|黄浦|卢湾|徐汇|长宁|静安|普陀|闸北|虹口|杨浦|闵行|宝山|嘉定|浦东|金山|松江|青浦|南汇|奉贤|崇明");    
  where[3]   =   new   comefrom("天津","|和平|东丽|河东|西青|河西|津南|南开|北辰|河北|武清|红挢|塘沽|汉沽|大港|宁河|静海|宝坻|蓟县");    
  where[4]   =   new   comefrom("重庆","|万州|涪陵|渝中|大渡口|江北|沙坪坝|九龙坡|南岸|北碚|万盛|双挢|渝北|巴南|黔江|长寿|綦江|潼南|铜梁|大足|荣昌|壁山|梁平|城口|丰都|垫江|武隆|忠县|开县|云阳|奉节|巫山|巫溪|石柱|秀山|酉阳|彭水|江津|合川|永川|南川");    
  where[5]   =   new   comefrom("河北","|石家庄|邯郸|邢台|保定|张家口|承德|廊坊|唐山|秦皇岛|沧州|衡水");    
  where[6]   =   new   comefrom("山西","|太原|大同|阳泉|长治|晋城|朔州|吕梁|忻州|晋中|临汾|运城");    
  where[7]   =   new   comefrom("内蒙古","|呼和浩特|包头|乌海|赤峰|呼伦贝尔盟|阿拉善盟|哲里木盟|兴安盟|乌兰察布盟|锡林郭勒盟|巴彦淖尔盟|伊克昭盟");    
  where[8]   =   new   comefrom("辽宁","|沈阳|大连|鞍山|抚顺|本溪|丹东|锦州|营口|阜新|辽阳|盘锦|铁岭|朝阳|葫芦岛");    
  where[9]   =   new   comefrom("吉林","|长春|吉林|四平|辽源|通化|白山|松原|白城|延边");    
  where[10]   =   new   comefrom("黑龙江","|哈尔滨|齐齐哈尔|牡丹江|佳木斯|大庆|绥化|鹤岗|鸡西|黑河|双鸭山|伊春|七台河|大兴安岭");    
  where[11]   =   new   comefrom("江苏","|南京|镇江|苏州|南通|扬州|盐城|徐州|连云港|常州|无锡|宿迁|泰州|淮安");    
  where[12]   =   new   comefrom("浙江","|杭州|宁波|温州|嘉兴|湖州|绍兴|金华|衢州|舟山|台州|丽水");    
  where[13]   =   new   comefrom("安徽","|合肥|芜湖|蚌埠|马鞍山|淮北|铜陵|安庆|黄山|滁州|宿州|池州|淮南|巢湖|阜阳|六安|宣城|亳州");    
  where[14]   =   new   comefrom("福建","|福州|厦门|莆田|三明|泉州|漳州|南平|龙岩|宁德");    
  where[15]   =   new   comefrom("江西","|南昌市|景德镇|九江|鹰潭|萍乡|新馀|赣州|吉安|宜春|抚州|上饶");    
  where[16]   =   new   comefrom("山东","|济南|青岛|淄博|枣庄|东营|烟台|潍坊|济宁|泰安|威海|日照|莱芜|临沂|德州|聊城|滨州|菏泽");    
  where[17]   =   new   comefrom("河南","|郑州|开封|洛阳|平顶山|安阳|鹤壁|新乡|焦作|濮阳|许昌|漯河|三门峡|南阳|商丘|信阳|周口|驻马店|济源");    
  where[18]   =   new   comefrom("湖北","|武汉|宜昌|荆州|襄樊|黄石|荆门|黄冈|十堰|恩施|潜江|天门|仙桃|随州|咸宁|孝感|鄂州");  
  where[19]   =   new   comefrom("湖南","|长沙|常德|株洲|湘潭|衡阳|岳阳|邵阳|益阳|娄底|怀化|郴州|永州|湘西|张家界");    
  where[20]   =   new   comefrom("广东","|广州|深圳|珠海|汕头|东莞|中山|佛山|韶关|江门|湛江|茂名|肇庆|惠州|梅州|汕尾|河源|阳江|清远|潮州|揭阳|云浮");    
  where[21]   =   new   comefrom("广西","|南宁|柳州|桂林|梧州|北海|防城港|钦州|贵港|玉林|南宁地区|柳州地区|贺州|百色|河池");    
  where[22]   =   new   comefrom("海南","|海口|三亚");    
  where[23]   =   new   comefrom("四川","|成都|绵阳|德阳|自贡|攀枝花|广元|内江|乐山|南充|宜宾|广安|达川|雅安|眉山|甘孜|凉山|泸州");    
  where[24]   =   new   comefrom("贵州","|贵阳|六盘水|遵义|安顺|铜仁|黔西南|毕节|黔东南|黔南");    
  where[25]   =   new   comefrom("云南","|昆明|大理|曲靖|玉溪|昭通|楚雄|红河|文山|思茅|西双版纳|保山|德宏|丽江|怒江|迪庆|临沧");  
  where[26]   =   new   comefrom("西藏","|拉萨|日喀则|山南|林芝|昌都|阿里|那曲");    
  where[27]   =   new   comefrom("陕西","|西安|宝鸡|咸阳|铜川|渭南|延安|榆林|汉中|安康|商洛");    
  where[28]   =   new   comefrom("甘肃","|兰州|嘉峪关|金昌|白银|天水|酒泉|张掖|武威|定西|陇南|平凉|庆阳|临夏|甘南");    
  where[29]   =   new   comefrom("宁夏","|银川|石嘴山|吴忠|固原");    
  where[30]   =   new   comefrom("青海","|西宁|海东|海南|海北|黄南|玉树|果洛|海西");    
  where[31]   =   new   comefrom("新疆","|乌鲁木齐|石河子|克拉玛依|伊犁|巴音郭勒|昌吉|克孜勒苏柯尔克孜|博尔塔拉|吐鲁番|哈密|喀什|和田|阿克苏");    
  where[32]   =   new   comefrom("香港","");    
  where[33]   =   new   comefrom("澳门","");    
  where[34]   =   new   comefrom("台湾","|台北|高雄|台中|台南|屏东|南投|云林|新竹|彰化|苗栗|嘉义|花莲|桃园|宜兰|基隆|台东|金门|马祖|澎湖");    
  where[35]   =   new   comefrom("其它","|北美洲|南美洲|亚洲|非洲|欧洲|大洋洲");    
  function   select()   {  
  with(document.form2.province)   {   var   loca2   =   options[selectedIndex].value;   }  
  for(i   =   0;i   <   where.length;i   ++)   {  
  if   (where[i].loca   ==   loca2)   {  
  loca3   =   (where[i].locacity).split("|");  
  for(j   =   0;j   <   loca3.length;j++)   {   with(document.form2.city)   {   length   =   loca3.length;    
  options[j].text   =   loca3[j];   options[j].value   =   loca3[j];   var    
  loca4=options[selectedIndex].value;}}  
  break;  
  }}  
  document.form2.txtSheng.value=loca2;  
  document.form2.txtCity.value=loca4;  
  }  
  function   init()   {  
  with(document.form2.province)   {  
  length   =   where.length;  
  for(k=0;k<where.length;k++)   {   options[k].text   =   where[k].loca;   options[k].value   =    
  where[k].loca;   }  
  options[selectedIndex].text   =   where[0].loca;   options[selectedIndex].value   =   where[0].loca;  
  }  
  with(document.form2.city)   {  
  loca3   =   (where[0].locacity).split("|");  
  length   =   loca3.length;  
  for(l=0;l<length;l++)   {   options[l].text   =   loca3[l];   options[l].value   =   loca3[l];   }  
  options[selectedIndex].text   =   loca3[0];   options[selectedIndex].value   =   loca3[0];  
  }}  
  -->  
  </script> 问题点数:50、回复次数:8Top

1 楼singlepine(小山)回复于 2006-03-04 15:14:41 得分 50

city.Items.FindByValue(sdr["city"].ToString()).Selected=true;//默认值是id  
  city.Items.FindByText(sdr["city"].ToString()).Selected=true;//默认值是text  
   
   
  可以参考  
  http://singlepine.cnblogs.com/articles/264668.htmlTop

2 楼chunsky(春天.NET)回复于 2006-03-04 15:29:51 得分 0

System.NullReferenceException:   未将对象引用设置到对象的实例。  
  -------------------------------  
  province.Value   =   sdr["province"].ToString();  
  行   50:   //city.Value   =   sdr["city"].ToString();  
  行   51:   city.Items.FindByValue(sdr["city"].ToString()).Selected=true;//默认值是id  
  Top

3 楼singlepine(小山)回复于 2006-03-04 15:42:09 得分 0

你的sdr["city"]是不是没有取到值?  
   
  如果有值,是可以的,如下  
  <SELECT   id="Select1"   name="Select1"   runat="server">  
  <OPTION   value="2">2天内</OPTION>  
  <OPTION   value="1">一天内</OPTION>  
  </SELECT>  
   
  private   void   Page_Load(object   sender,   System.EventArgs   e)  
  {  
  Select1.Items.FindByValue("1").Selected=true;  
  }Top

4 楼chunsky(春天.NET)回复于 2006-03-04 15:47:27 得分 0

有值,关键是联动的,索引不到下拉菜单Top

5 楼chunsky(春天.NET)回复于 2006-03-04 15:49:32 得分 0

还有你的省市联动我看了  
  也测试了一下  
  用Label1.Text   =   city.Value+state.Value;  
  内容为空数据,没法获得所选省市的值Top

6 楼chunsky(春天.NET)回复于 2006-03-04 15:56:16 得分 0

改为这样也错误  
  -------------  
  city.Items.FindByValue("合肥").Selected=true;//默认值是id  
  city.Items.FindByText("合肥").Selected=true;//默认值是text  
  Top

7 楼singlepine(小山)回复于 2006-03-04 16:56:58 得分 0

用这个吧  
  http://singlepine.cnblogs.com/articles/265678.html  
   
  cs代码中可以这样取值  
  private   void   Button1_Click(object   sender,   System.EventArgs   e)    
  {    
  Response.Write(Request.Form["DropDownList1"].ToString());    
  }Top

8 楼flyinging(一路走来)回复于 2006-03-04 18:36:48 得分 0

System.NullReferenceException:   未将对象引用设置到对象的实例。  
  -------------------------------  
  province.Value   =   sdr["province"].ToString();  
  行   50:   //city.Value   =   sdr["city"].ToString();  
  行   51:   city.Items.FindByValue(sdr["city"].ToString()).Selected=true;//默认值是id  
  是对的Top

相关问题

  • asp.net中制作省市县三级联动的下拉菜单问题
  • 谁在用阿信的省市省联动菜单??如何初始化菜单值 ??
  • 谁在用阿信的省市省联动菜单??如何初始化菜单值 ??
  • 菜单二联动
  • 如何在struts页面中实现省份城市联动菜单?原来在htm页面中是好使的,
  • 如何在delphi中实现联动菜单?-在COMBOBOX控件中(如选择省市县)
  • 无刷新省市联动
  • 用javascript写的不用数据库的省市的二级联动菜单,在asp.net里怎么获取省市的数据啊???
  • 关于联动菜单
  • 关于联动菜单

关键词

  • 联动
  • sdr
  • 默认值
  • 菜单
  • findbyvalue
  • city
  • 省市联动
  • province
  • tostring
  • 对象

得分解答快速导航

  • 帖主:chunsky
  • singlepine

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo