2011-01-07 38 views
1

我想填充一個下拉列表與SQL數據庫中的數據,但我失敗悲慘。代碼似乎對我很好,但拒絕工作。SqlDataSource拒絕合作

SqlDataSource sql_Names = new SqlDataSource(WebConfigurationManager.ConnectionStrings[1].ConnectionString, "SELECT name FROM Names"); 
      sql_Names.DataSourceMode = SqlDataSourceMode.DataReader; 
      ddl_names.DataSource = sql_Names; 
      ddl_names.DataBind(); 

數據庫連接正在工作。它會在下拉列表中創建正確數量的條目(與數據庫中的行數相同),但是會填充「System.Data.DataRecordInternal」(或「System.Data。 DataRowView「如果模式設置爲DataSet)。

請幫助...

回答

3

需要了設置DataTextField和DataValueFields適當

嘗試

ddl_names.DataTextField = "name"; 
ddl_names.DataValueField = "name"; 

的數據綁定之前

+0

現在工作,謝謝。 – Paul 2011-01-07 20:42:56

1

您需要設置ddl_names.DataTextField和ddl_names.DataValueField屬性。所以你的最終代碼應該是這樣的:

SqlDataSource sql_Names = new SqlDataSource(WebConfigurationManager.ConnectionStrings[1].ConnectionString, "SELECT name FROM Names"); 
sql_Names.DataSourceMode = SqlDataSourceMode.DataReader; 
ddl_names.DataTextField = "name"; 
ddl_names.DataValueField = "name"; 
ddl_names.DataSource = sql_Names; 
ddl_names.DataBind(); 
+0

現在工作,謝謝。 – Paul 2011-01-07 20:44:38