2017-01-06 20 views
1

複数のドロップダウンリストにデータをバインドしたいので、その値(コード)に従ってテキストを表示したいとします。
これはドロップダウンリストに値をバインドする方法は?

distinctValues = view.ToTable(true, "NAT_NAME"); 
ddlNationality.DataSource = distinctValues; 
ddlNationality.DataTextField = "NAT_NAME"; 
ddlNationality.DataValueField = "NAT_code"; 
ddlNationality.DataBind();   

NAT_codeは国民のための番号を含むコードであるとNAT_NAMEはテキストとして国家の関連する名前を持っています。クエリは、SQL Serverで実行するとうまく動作します。しかし、プログラムを実行すると、次のような例外が発生します。

Additional information: DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'NAT_code'.  

どうすれば修正できますか?

+2

あなたのdistinctValuesデータテーブルには「NAT_NAME」列しか含まれていないと思います。 –

答えて

5

カラム名にNAT_CODEフィールドがありません。[Viewです。それを独自の値に追加してください。それはこのようにすべきです。

distinctValues = view.ToTable(true, "NAT_NAME", "NAT_code"); 
3

これを試してみてください。

distinctValues = view.ToTable(true, "NAT_NAME","NAT_code"); 
ddlNationality.DataSource = distinctValues; 
ddlNationality.DataTextField = "NAT_NAME"; 
ddlNationality.DataValueField = "NAT_code"; 
ddlNationality.DataBind(); 
+0

あなたの提案された変更の説明なしに誰かがそれを試みるべきですか? – Rahul

関連する問題