2017-12-01 18 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(); 

は、あなたのテーブルの列に対応するには、これらを変更してください「ユーザー名」と命名し、ユーザーテーブルの主キーは、「ID」です。

+0

どうすればいいですか –

+0

ddlMembers.DataTextFieldを、表示するテーブルの列の名前が何であっても同じに設定し、値フィールドに対して同じ操作を行います。 –

0

表示するデータを返すために、DataTableクラスのToString()メソッドをオーバーライドすることができます。

+0

私はそれを取得していない、あなたは私に例を書くことができます –

+0

public override string ToString(){return "私は値です"; }をDataTableクラスに追加します。 – jaboe