源代码: 
<select name="cid" id="cid" runat="server">
                        </select>怎样在后台动态的加数据,,并得到选中的数据的值或索引呢。做了半天。。
 cid.Items.Insert(0, new ListItem("所有", "0"));          
            cid.Items.Insert(1, new ListItem("歌曲", "0"));          
            cid.Items.Insert(2, new ListItem("会员", "0"));这样能加进去数据可是cid.Value  还是 cid.indexValue 都获取不到相对应的值或索引我错到哪了呢。。
求各位指教、、

解决方案 »

  1.   

    用dropselectlist 拼错了,这个控件把!
      

  2.   

        <div>
            <select id="ddlCityList" runat="server"></select>
            <asp:Button ID="Button1" runat="server" Text="测试" />
        </div>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)//估计在这里出问题了
            {
                ddlCityList.Items.Add(new ListItem("娄底", "1"));
                ddlCityList.Items.Add(new ListItem("湘潭", "2"));
                ddlCityList.Items.Add(new ListItem("长沙", "3"));
            }
            else
            {
                string id = ddlCityList.Value;
                Response.Write(id);
            }
        }
      

  3.   

    如果没禁用viewstate  那楼主如果没做回传判断的话  肯定是会重复往select添加项的   
      

  4.   

    this.cid.Items[this.cid.SelectedIndex].Text;
    this.cid.Items[this.cid.SelectedIndex].Value;
      

  5.   

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //问题处在选项中的value不能全部一样,也就是说你的不能全部为0
                ddlCityList.Items.Add(new ListItem("娄底", "0"));
                ddlCityList.Items.Add(new ListItem("湘潭", "0"));
                ddlCityList.Items.Add(new ListItem("长沙", "0"));//这种写法就会有问题
            }
            else
            {
                string id = ddlCityList.Items[ddlCityList.SelectedIndex].Text;
                Response.Write(id);
            }
        }
      

  6.   

    这个和select.value没区别吧  这个控件本来就这么写的
      

  7.   

    我早看过了ddlCityList.Items[ddlCityList.SelectedIndex].Value   和ddlList.value是没区别的 
      

  8.   


    cid.SelectedIndex //选中的索引
    cid.SelectedValue //选中的值
      

  9.   


    代码改成 <asp:DropDownList ID="cid" runat="server">
    </asp:DropDownList>
      

  10.   

    我的意思是说   Items[ddlCityList.SelectedIndex].Value 和ddlList.value是没区别的   只是楼主的写法确实不对  我没注意到他的value是相同的  
      

  11.   

    看了下那个控件   是因为asp.net遍历值变量列表的时候   第一个就被匹配了 所以如果3个项值都是一样的话  下拉索引永远是0
      

  12.   

    如果你是要找所有的值对应的索引值的话,应该要遍历吧,如果只是要取选中的值的索引值的话,selectedXXX什么什么的吧!!