this.dropdownlist.SelectedValue
我用这个选定了其中的一项(不是第一项),读取出来的时候却总是第一项,这是为什么?也试过this.dropdownlist.SelectedItem.Text读取内容也是第一项

解决方案 »

  1.   

    你的dropdownlist的数据源是自己加的,还是从数据库中取得啊,你是一是selectIndex看看是不是选的第一项,有可能是数据源的问题
      

  2.   

    comboBox1_SelectedIndexChanged事件中,下标改变事件
      

  3.   

    记得要将AuroPostBack的属性改成true,这样就可以自动回发了,但是这样会刷新页面.
      

  4.   

    dropdownlist的数据源是从数据库中取得,要做的是把自己选定的dropdownlist当前项从数据库中删除,可是总是删除的dropdownlist上的第一项,这是什么问题?
      

  5.   

    选定不同其他项,可是selectedIndex.toString()的值都为0
      

  6.   

    原因很简单,不关ASP.NET的事情而是Html的问题(可以认为是Html的Bug吧)
    因为DropDownList最终生成的客户端是<select><option>标签,而这组标签有一个问题,就是在多个option具有相同value而不同text时,不管你选择的是哪个,总认为是第一个(具有该值的选项)。
    不管你获取的是索引还是值或其他东西,这个问题在JSP,ASP,PHP中同样存在,解决的方法是给不同的选项以不同的value
      

  7.   

    还有另外一种可能是你的  EnableViewState=false 了,造成状态丢失,所以总是第一项。
      

  8.   

    也可能是你在PageLoad中重新绑定而没有用  if(!IsPostBack)判定造成每次回发都被重新绑定,因此丢失了选择的值。
      

  9.   

    在下标改变事件中加上这个
    ViewState["id"]=this.DropDownList1.SelectedValue.ToString();
    将选定的值存在ViewState中
    在删除按纽中使用ViewState["id"]的值,不要用this.DropDownList1.SelectedValue.ToString()了
      

  10.   

    请问怎么给不同的选项加不同的value?
      

  11.   

    this.DropDownList1.DataSource="数据源"(我喜欢用DataTable);
    this.DropDownList1.DataTextField="数据源中的列名";  //显示的文字
    this.DropDownList1.DataValueField="数据源中的列名";//不同的值