Получить связанное значение из свойства класса, DefaultBindingProperty у меня не работает! - PullRequest
2 голосов
/ 11 ноября 2009

Я создаю некоторые сущности (класс) для своего проекта и хочу установить для него свойство binging по умолчанию, вот пример

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> и я хочу привязать его к GridView и добавил это поле <asp:BoundField DataField="Father" />, результат будет MyNamespace.Person, но мне нужно, чтобы он заполнил значение свойства Name без использования TemplateField так я что-то пропустил? или DefaultBindingProperty не правильный атрибут?

1 Ответ

2 голосов
/ 11 ноября 2009

Проблема в свойстве 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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...