我有一个用户控件,我在整个 Web 应用程序中都使用它。它在表中返回 a List<Person>
。目前,列表中显示的属性是固定的(通过代码)。
我想更改控件,使其接受一个属性列表,然后使用该列表来呈现这些对象(类型为Person
)的表,其中只有选定的属性可见。
这只能使用反射吗?实现这一目标的最佳途径是什么。
物体:
Class Person{
Name{get;set;}
Age{get;set;}
Address{get;set;}
Role{get;set;}
AnotherProperty{get;set;}
}
usercontrol 只是获取一个 Person 列表并在一个普通的 html 表中显示结果(通过一个转发器)。现在我希望用户控件可以自定义,其中的属性显示在这个 html 表中。我希望用户控件按如下方式使用:
<uc:PersonSearchList runat="server" ID="someId" ShowProperties="Name, Address, Role" />
或在后面的代码中设置:
PropertyInfo[] ShowProperties = Person.GetType().GetProperties();