<asp:DropDownList ID="ddlSheng" runat="server" Width="74px" onchange="wai_sub_option(this,'ddlShi');" >
                     <asp:ListItem Value="0" Selected="True">请选择</asp:ListItem> 
                                <asp:ListItem Value="110000">国内 </asp:ListItem> 
                                <asp:ListItem Value="120000">亚洲 </asp:ListItem> 
                                <asp:ListItem Value="130000">欧洲 </asp:ListItem> 
                                <asp:ListItem Value="140000">非洲 </asp:ListItem> 
                                <asp:ListItem Value="150000">大洋洲 </asp:ListItem> 
                                <asp:ListItem Value="160000">北美洲 </asp:ListItem> 
                                <asp:ListItem Value="170000">南美洲 </asp:ListItem> 
                                <asp:ListItem Value="180000">南极洲 </asp:ListItem> 
                                <asp:ListItem Value="190000">北极洲 </asp:ListItem> 
                  </asp:DropDownList> 
                  <asp:DropDownList ID="ddlShi" runat="server" Width="81px" >
                    <asp:ListItem Selected="true" Value="0" >请选择</asp:ListItem>
                  </asp:DropDownList>城市是用JS文件自动产生的,我想把城市存入数据库,用ddlshi.selectItem.text. 存入的老是请选择。然后把asp:DropDownList改成Select又用:request.form["name"],存入的又是Value值

解决方案 »

  1.   

    用JS吧
    放个隐藏域<input type="hidden" id="shi" name="shi"/>
    然后再 <asp:DropDownList ID="ddlShi" runat="server" Width="81px" onChanged="getvalue()">
    function getvalue(){
      var text = document.getEelementById("ddlShi").text;
      document.getEelementById("shi").value=text;
    }
    然后在后台request.form["shi"],
      

  2.   

    呵呵这种情况是你page_load的时候少了个if(!Page.IsPostBack)DropDownList的值在page_load被你修改了ddlshi.selectItem.text读的是视图的值request.form["shi"]forms的值page_load加个if(!Page.IsPostBack)
    {
    BindData();
    }就可以解决
      

  3.   

    放隐藏域是弄啥的? 把ddlshi的Text传给隐藏的Value做啥?
      

  4.   

    JS加的城市当然没有视图了当然读不到了只能用Request.Form["name"]
      

  5.   

    最好放个服务器控件的隐藏域当城市改变的时候,将城市的值赋值给隐藏域当提交回发的时候,直接Hidden.Value就取得你要的城市的值了.
      

  6.   

    就用JS一样可以取到
    用Request.Form
    这是我一个工程中的一段代码,用的是js做得省市联动下拉列表,把市的值取出来了             //把省市的值取出来
                string l_province = selProvince.Value.Trim();
                string l_city = "";
                if (Request.Form["selCity"] != null)
                {
                    l_city = Request.Form["selCity"].Trim();
                }