2017-12-01 1 views
0

asp.net의 DropDownList에 대한 데이터 바인딩입니다. 코드가 작동하지 않는 것 같습니다. 오류는 Click here to see the error, data does not appearDropDownList Databind 오류

"사용자"테이블에 3 개의 항목이 있습니다. 연결 문자열이 정확합니다. 나는 긍정적입니다.

SqlConnection ddlcon = new SqlConnection(strncon); 
      ddlcon.Open(); 
      SqlCommand cmd = new SqlCommand("Select Username from Users", ddlcon); 
      SqlDataAdapter ddlAdp = new SqlDataAdapter(cmd); 
      DataTable ddl = new DataTable(); 
      ddlAdp.Fill(ddl); 
      ddlMembers.DataSource = ddl; 
      ddlMembers.DataBind(); 
      ddlcon.Close(); 
+0

왜 'javascript'태그가 붙어 있습니까? –

답변

0

드롭 다운을 바인딩하고 있지만 데이터 원본의 어떤 값을 표시할지 알 수 없습니다. DataTextField 및 DataValueField 속성을 설정하여 표시 할 텍스트 값과 드롭 다운에서 선택할 때 선택할 값을 결정해야합니다. 예를 들어

:이 사용자에 대한 설명을 가정 한 것입니다

SqlConnection ddlcon = new SqlConnection(strncon); 
ddlcon.Open(); 
SqlCommand cmd = new SqlCommand("Select Username from Users", ddlcon); 
SqlDataAdapter ddlAdp = new SqlDataAdapter(cmd); 
DataTable ddl = new DataTable(); 
ddlAdp.Fill(ddl); 

ddlMembers.DataSource = ddl; 
ddlMembers.DataTextField = "Username"; 
ddlMembers.DataValueField = "Id"; 
ddlMembers.DataBind(); 
ddlcon.Close(); 

는 테이블의 컬럼에 해당하려면 다음을 변경하십시오 '사용자 이름'라는 이름과 사용자 테이블에 기본 키는 '아이디'이다.

+0

어떻게해야합니까? –

+0

ddlMembers.DataTextField를 표시 할 테이블의 열 이름이 무엇이든간에 값 필드에 대해 동일하게 설정하십시오. –

0

ToString() - DataTable 클래스의 메서드를 재정 의하여보고 싶은 데이터를 반환 할 수 있습니다.

+0

나는 그것을 얻지 못했다. 당신이 나를 쓸 수 있겠 느냐? –

+0

public override string ToString() {return "나는 값이다"; } DataTable 클래스에서. – jaboe