ASP.NET dropdownlist绑定数据却显示System.Data.DataRowView

 

问题: 在VS中用dropdownlist控件绑定数据,浏览时却在控件里显示System.Data.DataRowView,而不是要显示的数据,代码如下:

 

public static DataSet GetDataSet(DataSet ds, string tablename)
       {
           string s = "select departmentName from department_info";
           string con = ConfigurationManager.ConnectionStrings["CodematicConnectionString"].ConnectionString.ToString();
           SqlConnection conn = new SqlConnection(con);
           SqlDataAdapter adapter = new SqlDataAdapter(s, con);
           adapter.Fill(ds, tablename);
           return ds;
       }

 

 

protected void Page_Load(object sender, EventArgs e)
       {

         if(!IsPostBack)

           {
               DataSet ds = new DataSet();
               string tablename = "department_Info";
               ds = GetDataSet(ds, tablename);
               this.ddl_post.DataSource = ds;
                      this.ddl_post.DataBind();
               DataTable dt = ds.Tables[0];
               DataRow dr = dt.NewRow();
               dr[0] = "==请选择==";
               //添加到第1行
               dt.Rows.InsertAt(dr, 0);
               this.ddl_post.DataSource = dt;
               //这种方法也可以
               //this.ddl_department.Items.Insert(0,"==请选择==");
               //this.ddl_department.Items.FindByText("==请选择==").Selected = true;

           } 

     }

 

解决:在DataBind();前加上

         ddl_post.DataTextField = "departmentName";
              ddl_post.DataValueField = "departmentName";

就可以了.

posted @ 2012-05-15 20:55  【唐】三三  阅读(1569)  评论(0编辑  收藏  举报