//填充DropDownList的值
        private void FillData() {
            BLL.C_Type bll_CType = new BLL.C_Type();
            DataSet ds = bll_CType.GetAllList();            int rowCount = ds.Tables[0].Rows.Count;            for (int i = 0; i < rowCount; i++)
            {
                ListItem item = new ListItem();
                item.Value = ds.Tables[0].Rows[i][0].ToString();
                item.Text = ds.Tables[0].Rows[i][1].ToString();                DDTypeName1.Items.Add(item);
                DDTypeName2.Items.Add(item);
                DDTypeName3.Items.Add(item);
                DDTypeName4.Items.Add(item);
                DDTypeName5.Items.Add(item);
                DDTypeName6.Items.Add(item);
            }
            ds.Dispose();
        }        //获取用户修改的数据
        private void GetDataSoucrceTypeIndex() {
            try {
                int rid = int.Parse(Request.QueryString["id"].ToString());
                hiddRID.Value = rid.ToString();  //将值保存在隐藏域中,防止修改注入
                BLL.R_SourceTypeIndex bll = new BLL.R_SourceTypeIndex();
                Model.R_SourceTypeIndex model=bll.GetModel(rid);                 string fid1 = model.FID_1.ToString();
                 string fid2 = model.FID_2.ToString();
                 string fid3 = model.FID_3.ToString();
                 string fid4 = model.FID_4.ToString();
                 string fid5 = model.FID_5.ToString();
                 string fid6 = model.FID_6.ToString();                 hiddFID1.Value = fid1;
                 hiddFID2.Value = fid2;
                 hiddFID3.Value = fid3;
                 hiddFID4.Value = fid4;
                 hiddFID5.Value = fid5;
                 hiddFID6.Value = fid6;                 DDTypeName1.SelectedValue = hiddFID1.Value;
                 DDTypeName2.SelectedItem.Value= hiddFID2.Value;
                 DDTypeName3.SelectedItem.Value = hiddFID3.Value;
                 DDTypeName4.SelectedItem.Value = hiddFID4.Value;
                 DDTypeName5.SelectedValue = hiddFID5.Value;
                 DDTypeName6.SelectedValue = hiddFID6.Value; 
            }
            catch (Exception Err){ }  
        }
  我写了这样两个方法,当给每个下拉列表框赋值时,后面的值总是覆盖前面的,如“DDTypeName1.SelectedValue=1”,但是当
“DDTypeName1.SelectedValue=2”赋值时,“DDTypeName1.SelectedValue=1”这是为什么,如何解决,最好能说明产生的原因。

解决方案 »

  1.   

    不大明白你的问题,SelectedValue 当前只能有一个值,即最后赋的那个值
      

  2.   

    selectedvalue的含义就是页面当前需要显示的item的value
      

  3.   

    1.
    private void FillData() { 
                BLL.C_Type bll_CType = new BLL.C_Type(); 
                DataSet ds = bll_CType.GetAllList();             int rowCount = ds.Tables[0].Rows.Count;             for (int i = 0; i < rowCount; i++) 
                { 
                    //ListItem item = new ListItem(); 
                    //item.Value = ds.Tables[0].Rows[i][0].ToString(); 
                    //item.Text = ds.Tables[0].Rows[i][1].ToString();                   string text = ds.Tables[0].Rows[i][1].ToString(); 
                      string value = ds.Tables[0].Rows[i][0].ToString();                 DDTypeName1.Items.Add(new ListItem(text,value)); 
                    DDTypeName2.Items.Add(new ListItem(text,value)); 
                    DDTypeName3.Items.Add(new ListItem(text,value)); 
                    DDTypeName4.Items.Add(new ListItem(text,value)); 
                    DDTypeName5.Items.Add(new ListItem(text,value)); 
                    DDTypeName6.Items.Add(new ListItem(text,value)); 
                } 
                ds.Dispose(); 
            } 
    2.调用函数时加上:如
    if(!IsPostBack)
    {
    FillData();
    }
      

  4.   

    假如你的问题是重复赋值也就是1,2楼所说的话,那么原因说的很清楚了
    假如你的问题是3楼加if那个的话,那么我要埋怨楼主的代码不全;if那个语句主要是为了限定第一载入页面的时候进行,由于你没有加,那么只要点击服务器按钮等导致页面postback(回传)均会执行filldata方法!导致你的更改无效。
      

  5.   

    是不是在绑定的时候没有加if(!IsPostBack)啊?
      

  6.   

    没有用IsPostBack判断是否是第一次加载此页面,回传时都会加载数据
      

  7.   

    可能没有用IsPostBack判断 那样每刷新下页面就加载下数据