DropDownList spdpdl = (DropDownList)Edit_art_FormView.FindControl("special_dropdownlist");
        String end_sign = ((Label)Edit_art_FormView.FindControl("special_end_Label")).Text;        if (end_sign != "0")
        {
            Edit_art_FormView.FindControl("special_label").Visible = true;
            Edit_art_FormView.FindControl("Lab_Message").Visible = true;
            spdpdl.Visible = false;
        }
        else
        {
            Edit_art_FormView.FindControl("special_label").Visible = false;
            Edit_art_FormView.FindControl("Lab_Message").Visible = false;
            spdpdl.DataSource = special_able;
            spdpdl.DataTextField = "special";
            spdpdl.DataValueField = "special_ID";
            spdpdl.DataBind();
        }end_sign是个结束标记,当标记不等于0,dropdownlist不绑定数据,当标记=0时绑定数据源special_able
spdpdl在绑定的数据始终不是原有数据,而总是默认值,请教大家如何修改,谢谢

解决方案 »

  1.   

    spdpdl.DataSource = special_able; 
    你这句应该是绑定吧。
    但是你下边又做了修改:
    spdpdl.DataTextField = "special"; 
    spdpdl.DataValueField = "special_ID";然后再进行绑定:
    spdpdl.DataBind(); 你这样写总觉得很乱。而且
    spdpdl.DataTextField = "special"; 
    spdpdl.DataValueField = "special_ID";
    这里你怎么会赋值个字符串呢?
      

  2.   

    你绑定是在if(!IsPostBack)里吗?
      

  3.   

    要么就是end_sign的值的问题,你可以设断点调试下看看
      

  4.   

    special_able 是个sqldatasource控件spdpdl.DataTextField = "special"; 
    spdpdl.DataValueField = "special_ID"; 
    这两句不是给Dropdownlist控件设定属性吗?
      

  5.   

    解决了
    spddl.SelectedIndex = spddl.Items.IndexOf(spddl.Items.FindByValue("special_ID"));