代码如下:
this.DropDownList1.SelectedValue=dr["xb"].ToString();
这没有什么错误呀 
可是DropDownList1 的选中项 偏偏不是 查询到的值

 this.DropDownList1.SelectedItem.Text = dr["xbie"].ToString();
却可以显示出来
这到底是为什么呀 ,,我真晕啦..
大家帮忙看看.

解决方案 »

  1.   

    dropdownlist显示查询的项一般都这样写
    this.dropdownlist.Items.FindByText(dr["xbie"].ToString()).Selected = true;
      

  2.   

    dr[ "xb "].ToString(); 
     dr[ "xbie "].ToString(); 
    -----------------
    xb與xbie不一樣吧?
      

  3.   

    看一下你  xb 和xbie 对应是不是正确
      

  4.   

    不好意思  我写错啦,,两个都是 [xb] 哪位兄弟遇见过这样的 问题,,给点指点,,应该不会是逻辑错误吧
    既然this.DropDownList1.SelectedItem.Text   =   dr[ "xb"].ToString(); 可以实现,那就应该不会错呀.
      

  5.   

    你这是赋值?
    是不是有几个ITEM的VALUE都相同呢?
      

  6.   


    对DropDownList选择当前项
    最好是用
    DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(DropDownList1.Items.FindByValue(“xx”));避免所赋值与控件中项不相符,或控件中选项不存在时出现异常问题
      

  7.   

    1.
    this.DropDownList1.SelectedItem.Text  = dr["xb"].ToString(); 
    ---------------
    首先,如果這樣使用,一定是錯誤的。
    這行代碼的作用是:
    將DropDownList1控件當前選中項的文本設置為dr["xb"].ToString(),而不是所想意想的,選中文本為dr["xb"].ToString()的項目。2.this.DropDownList1.SelectedValue=dr[ "xb"].ToString()
    ----------------
    這才是通常正確的做法。
    一個ListItem有一個文本和一個值,這行代碼的意思是:
    選中DropDownList1控件中,值為dr["xb"].ToString()的一項,而不是文本為dr["xb"].ToString()的一項。
    LZ說這樣不會選中,可能LZ自己將文本與值搞混了
      

  8.   

    對於this.DropDownList1.SelectedItem.Text = dr["xb"].ToString();  
    如果當前選中項的文本為“項目A”,而dr["xb"].ToString()的值為“項目B”,實際運行會把“項目A”這一項的文本變為“項目B”,表面上看起來是選中了,實際上差之千裡