为什么我用以下代码无法将数据绑定到下拉列表中呢?private void Page_Load(object sender, System.EventArgs e)
{
ConnectionString=System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
conn=new SqlConnection(ConnectionString); if(!IsPostBack)
BindDropDownList();
}
private void BindDropDownList()
{
string strsql;
strsql="select * from dep ";
ds=new DataSet();
da=new SqlDataAdapter(strsql,conn);
conn.Open();
da.Fill(ds,"Dep");
dep_name.DataSource=ds.Tables[0].DefaultView;
dep_name.DataBind();
conn.Close();  
}

解决方案 »

  1.   

    指定DataValueField和DataTextField DdlStorage.DataSource = storage_table;
    DdlStorage.DataValueField = "STORAGE_ID";
    DdlStorage.DataTextField = "STORAGE_NAME";
    DdlStorage.DataBind();
      

  2.   

    dep_name.DataValueField  ="字段名字"
      

  3.   

    dep_name.DataSource=ds.Tables[0].DefaultView;
    //想在dropdownlist中显示的内容
    dep_name.DataTextField = "XXX";
    //想在dropdownlist中保存的值的内容
    dep_name.DataValueField = "YYY";
    dep_name.DataBind();
      

  4.   

    那我应该在BindDropDownList()里怎么处理呢?
    难道还要用存储过程吗?
      

  5.   

    这样写行吗?
    private void BindDropDownList()
    {
    string strsql;
    strsql="select * from dep ";
    ds=new DataSet();
    da=new SqlDataAdapter(strsql,conn);
    conn.Open();
    da.Fill(ds,"Dep");
    dep_name.DataSource=ds.Tables[0].DefaultView;
    dep_name.DataTextField = "dep_name";
                                dep_name.DataValueField = "dep_id";
                               dep_name.DataBind();
                            conn.Close();  
    }