c# - 从类属性获取绑定(bind)值,默认绑定(bind)属性对我不起作用!

标签 c# asp.net data-binding class attributes

我正在为我的项目创建一些实体(类),我想为它设置一个默认的绑定(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 的类型是 PersonPerson 值没有明显的字符串表示形式,因此会显示该类型的名称。尝试覆盖 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/

相关文章:

javascript - CSS 问题 - 我的 DIV 一直处于折叠状态!

javascript - 如何使用下拉列表触发 Jquery 函数?

c# - 将 XML 字符串转换为 List<T> 而无需在 C# 中指定元素根

c# - 在 .NET (C#) web 服务中本地返回 XML?

c# - .NET C# 图片上传验证

c# - MySql 和 C# 哈希值在转换为 BIGINT 时不匹配

c# - 如何使用c#读取和显示文本文件中的json数据

c# - 将 DataGridTextColumn 的 IsReadOnly 绑定(bind)到 DataGridTemplateColumn 复选框 IsChecked

wpf - ComboBox.SelectedValue 未从绑定(bind)源更新

wpf - WPF MVVM 用户控件的最佳实践。避免绑定(bind)问题