0

およびプロパティを指定せずにASP.NETListControlにバインドする方法はありますか?たぶん、ListControlがどのプロパティがテキストでどの値がどれであるかを推測できるようにするクラスはありますか?DataTextFieldDataValueField

毎回これらのプロパティを指定しなければならないことは、過去にタイプミスの問題を引き起こしていました。毎回同じオブジェクトタイプのコレクションにバインドし、フィールドのプロパティを完全に無視できれば役立つと思います。

4

2 に答える 2

0

このようなコントロールが必要な場合は、ListBoxデフォルトを想定するようにクラスを拡張できます。

割り当てられたデータ型のDataSourceおよびのリフレクションを使用します。GetProperties必要に応じてデフォルトを想定します。最初のプロパティをkey(DataValueField)と言い、最後のプロパティをvalue(DataTextField)と言います。

于 2012-08-24T19:17:01.507 に答える
0

いいえ、これを自動的に「推測」する方法はありません。

のコレクションにバインドしていると想像してくださいPerson。PersonクラスにはId, Name, Address, City, State, Zip, Email、などがあります。多くの有効なシナリオでは、代わりにとを表示する必要がある場合があるため、クラスはプログラマーの心を読み取って、プログラマーが実際にとをそれぞれにListBox使用したいと判断することはできません。IdNameValueTextPhoneId

少なくとも一度ページを実行すると、存在しないプロパティにバインドしようとするとすぐにエラーが発生するため、これは誰にとっても問題にはなりません。

于 2012-08-24T18:40:18.340 に答える