用dropdownlist绑定数据表user中的两个字段"id","name" 
DropDownList1.DataTextField = "name" 'dropdownlist的Text的字段 
DropDownList1.DataValueField = "id" 'dropdownlist的Value的字段 运行后可见效果,但是当我下拉菜单选择另一个name时,取不出当前name的Value值。
比如表为:id   name
          1    小王   
          2    小黄 
          3    小陈
运行后,页面上DropDownList1里是“小王” 当我引用 DropDownList1.SelectedItem.Value 时可以得到‘1’但是当我下拉菜单选择‘小黄’,这时候 DropDownList1.SelectedItem.Value还是‘1’程序如下: 
Dim conn As SqlConnection = DB.con() 
Dim SQL_Select As String = "select id, username from [user]" 
Dim myAdapter As New SqlDataAdapter(SQL_Select, conn) 
conn.Open() 
Dim dataSet As New DataSet 
myAdapter.Fill(DataSet, "user") 
conn.Close() 
DropDownList1.DataSource = DataSet.Tables("user").DefaultView 
DropDownList1.DataTextField = "username" DropDownList1.DataValueField = "id" 
DropDownList1.DataBind()

解决方案 »

  1.   

    首先你必须确定 小黄对应的value不是1,你调试察看 DropDownList1.SelectedItem.Value时是否 DropDownList1.SelectedItem.Value应该发生变化。
    感觉如果都正常那么不会有问题。
    最后一点,看看你的这个项目的配置属性是否为Build。
      

  2.   

    page_load
    if(!PostBack)
    {
    这里绑定 
    }
      

  3.   

    实在不行就写在
    DropDownList1_SelectedIndexChanged
      

  4.   

    同意xiahouwen(武眉博<活靶子.NET>)
      

  5.   

    不过不一定要放在if(!PostBack)中,
    只要在page_load绑定一次就可以了.以后在要用的时候直接读就可以.
      

  6.   

    如果你选择某项后会刷新页面 那么
    page_load
    if(!PostBack)
    {
    这里绑定 
    }
      

  7.   

    if(!PostBack)
    {
    这里绑定 
    }