DropDownDepartment绑定后加上:
DropDownDepartment.Items.Insert(0,"");
DropDownDepartment.Items[0].Value="0";DropDownDepartment.Text   =   dr["DepartmentName"].ToString();
改成:
Drop_FindByText(DropDownDepartment,dr["DepartmentName"].ToString());
#region DropDownList对应项选择(Text值)
///<summary>DropDownList对应项选择(Text值)</summary> 
///<param name="Drop_Control">控件名称</param>
///<param name="Text">要查找的对应的Text值</param>
public void Drop_FindByText(DropDownList Drop_Control ,string TextStr)
{
ListItem item=Drop_Control.Items.FindByText(TextStr);
if(item!=null)
{
Drop_Control.SelectedIndex=-1;
item.Selected=true;
}
}
#endregion

解决方案 »

  1.   

    DropDownDepartment.SelectedValue=dr["DepartmentName"].ToString(); 
      

  2.   

    对DropDownDepartment.Text操作是改变不了值的,因为DropDownList的基本元素是ListItem,应该用ListItem的Text的属性来操作.
      

  3.   

    参考:http://download.csdn.net/source/213243
      

  4.   

    绑定DropDownList控件后加入一行 DropDownDepartment.Items.Insert(0, "");
    给 它添加一行空白的:
    DropDownDepartment.DataSource = ds.Tables["user_Department"].DefaultView;
            DropDownDepartment.DataTextField = "DepartmentName";
            DropDownDepartment.DataValueField = "ID";        
            DropDownDepartment.DataBind();
            DropDownDepartment.Items.Insert(0, "");然后再该控件得到传递过来的值的时候用以下代码:
    DataSet ds = new DataSet();
                ds = bc.GetDst(cmdt, "user_info");
                DataRow[] drlist = ds.Tables[0].Select();
                foreach (DataRow dr in drlist)
                {                  
                    DropDownDepartment.Items.FindByText(dr["DepartmentName"].ToString().Trim()).Selected = true;                
                }