我正在为我的项目创建一些实体(类),我想为它设置一个默认的绑定(bind)属性,这是一个例子
namespace MyNamespace
{
[System.ComponentModel.DefaultBindingProperty("Name")]
public class Person
{
public int ID { get; set; }
public string Name { get; set; }
public int Gender { get; set; }
}
public class Family
{
public int ID { get; set; }
public Person Father { get; set; }
}
}
如果我有List<Family>
并希望将其绑定(bind)到 GridView 并添加此字段 <asp:BoundField DataField="Father" />
结果将是 MyNamespace.Person
但我需要它来填充属性的值 Name
不使用TemplateField
那我错过了什么吗?或 DefaultBindingProperty
是不是正确的属性?
最佳答案
问题是属性 Father
的类型是 Person
。 Person
值没有明显的字符串表示形式,因此会显示该类型的名称。尝试覆盖 ToString
方法以显示您想要的内容:
public class Person
{
public int ID { get; set; }
public string Name { get; set; }
public int Gender { get; set; }
public override string ToString()
{
return Name;
}
}
关于c# - 从类属性获取绑定(bind)值,默认绑定(bind)属性对我不起作用!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1714203/