下拉框DropDownList1  绑定一个简单地区表t1t1  tcode  tname
    01     四川
    02     云南
    03     贵州DropDownList1绑定如下 
this.DropDownList1.DataValueField = "tcode";
this.DropDownList1.DataTextField = "tname";我第一次写入数据库的时候 比如选择的是  云南  就把02保存到数据库当我要进行修改的时候  我先重新绑定DropDownList1然后让DropDownList1的SelectedValue="02";结果下拉框就出现了两个云南    晕死~~怎么让下拉框绑定的还是数据库中那三个数据但又让它显示的是我上次保存的那个值呢?

解决方案 »

  1.   

    DropDownList1.Items.FindByValue("02").Selected = true;
      

  2.   

    重新绑定前清空下Dropdownlist试试
      

  3.   

    DropDownList1的绑定是这样滴绑定没有问题  关键是如何让它的Text=我取出来的这个UpdateIncept.Rows[0]["tname"].ToString();   //这个tname就是云南
      

  4.   

    最笨的办法删除Dropdownlist重新建一个。我遇见过类似的问题,没办法重新一建就好了
      

  5.   

    在Page_Load,
    If Not IsPostBack Then
      DropDownList1.Items.Clear()
      重新查詢綁定
      

  6.   

    绑定前先清空裡面的數據,listbox1.Items.Clear
      

  7.   

    帖代码绑定: private void Binddl()
    {
    HardwareManagement.PublicDB.ClassHM.HardwareOperate getdl = new HardwareManagement.PublicDB.ClassHM.HardwareOperate();
    if(HardwareManagement.PublicDB.ClassHM.pubDataSet.Tables["dl"] == null)
    {
    InceptModeTable.Getdl();
    }
    this.DropDownList1.DataSource = HardwareManagement.PublicDB.ClassHM.pubDataSet.Tables["dl"];
    this.DropDownList1.DataValueField = "tcode";
    this.DropDownList1.DataTextField = "tname";
    this.DropDownList1.DataBind();
    }保存进数据库后   重新获取下拉框的值   就是先保存进去的
    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!this.IsPostBack)
    {
    HardwareManagement.PublicDB.ClassHM.HardwareOperate getInceptupdate = new HardwareManagement.PublicDB.ClassHM.HardwareOperate();
    DataTable UpdateIncept = getInceptupdate.GetUpdateIncept();   this.Binddl();
    this.DropDownList1.SelectedItem.Text = UpdateIncept.Rows[0]["tname"].ToString();
    }
    }
      

  8.   

    if(!IsPostBack)
    {
         实现绑定.
    }
    另外再写一个方法,实现选中项的查询,来刷新DropDownList
      

  9.   

    foreach(ListItem obj in objDrop.ListItems)
    {
    if(obj.selected=true)
    在这里保存值
    obj.selected=false;
    }
      

  10.   

    根据你的代码:
    if(!IsPostBack)
    {
         this.Bindd1();//实现绑定!  
         下面那行默认显示的用不上.
    }
    再写一个方法,在以后每次改变DropDownList选项的时候来调,最好是调存储过程!
      

  11.   

    biggerboy(饮酒买醉)  你的方法可以用做最后的绝招  
     
     alien54155415()  清空了  问题照旧 feitianyyj(飞雪连天)  清空了  问题照旧
      

  12.   

    this.DropDownList1.SelectedItem.Text = UpdateIncept.Rows[0]["tname"].ToString这句不对,你应该指定某个想的选定属性,而不是给某个选定项赋值,思路就不对this.DropDownList1.Items[云南对应的索引].Selected = true;
      

  13.   

    1、首先确定你正确的绑定了数据。
    2、其次使用FindByValue时需要判断是否找到了这个对象。
    3、设置这个对象的Selected为true。检查绑定的数据是否和你在数据库中看到的一致,如果一致那么只需要FindByValue或者FindByText来找到你要显示的ListItem对象然后设置其Selected属性为true即可。