Web アプリケーション全体で使用するユーザー コントロールがあります。をテーブルで返しList<Person>
ます。現在、リストに表示されるプロパティは (コードによって) 固定されています。
コントロールを変更して、プロパティのリストを受け入れるようにします。これを使用してPerson
、選択したプロパティのみが表示されるように、これらのオブジェクト (タイプ ) のテーブルをレンダリングします。
これは反射を使用してのみ可能ですか?これを達成するための最良のルートは何ですか。
オブジェクト:
Class Person{
Name{get;set;}
Age{get;set;}
Address{get;set;}
Role{get;set;}
AnotherProperty{get;set;}
}
ユーザーコントロールは Person のリストを取得し、その結果を(リピーターを介して)プレーンな html テーブルに表示します。ここで、この html テーブルに表示されるプロパティでユーザーコントロールをカスタマイズできるようにしたいと考えています。次のようにユーザーコントロールを使用したい:
<uc:PersonSearchList runat="server" ID="someId" ShowProperties="Name, Address, Role" />
またはコードビハインドで設定:
PropertyInfo[] ShowProperties = Person.GetType().GetProperties();