2011-01-07 2 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(); 

데이터베이스 연결이 작동하고 있습니다. 드롭 다운 목록에서 항목 수 (DB의 행 수와 같음)를 작성하지만 목록의 각 요소를 "System.Data.DataRecordInternal"(또는 "System.Data")로 채 웁니다. DataRowView "모드가 DataSet으로 설정된 경우).

도와주세요 ...

답변

3

당신은 적절하게

당신이 ddl_names.DataTextField를 설정해야

+0

현재 고맙습니다. – Paul

1

와 데이터 바인딩하기 전에

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

을 시도 DataTextField 및 DataValueFields를 설정해야 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

관련 문제