是否有一种方法可以绑定到ASP.NET ListControl 而不需要指定DataTextField和DataValueField属性?可能是某个类,它允许ListControl推断哪个属性是文本和哪个值?
过去每次出现错误时都必须指定这些属性。我认为,如果每次都能绑定到相同对象类型的集合,而完全忽略字段属性,就会有帮助。
发布于 2012-08-24 19:17:01
如果您确实想要这样的控件,可以扩展ListBox类以假定默认值。
在指定的数据类型的DataSource和GetProperties上使用反射。假设默认设置为您喜欢的;例如第一个属性为key(DataValueField),最后一个属性为值(DataTextField)。
发布于 2012-08-24 18:40:18
不,不可能让它自动“推断”。
假设您正在绑定到Person的集合。Person类可能具有Id, Name, Address, City, State, Zip, Email,等等。ListBox类无法读取程序员的心思并决定他是否希望分别为Value和Text使用Id和Name,因为在许多有效的场景中,您可能确实需要显示Phone和Id。
如果您至少只运行一次页面,那么如果您试图绑定到一个不存在的属性,那么会立即得到一个错误,所以这对任何人来说都不应该是一个问题。
https://stackoverflow.com/questions/12114743
复制相似问题