GridView связан с свойствами вложенного classа

У меня есть объектная карта, подобная той, что указана ниже. Когда я пытаюсь связать свойства NestedClass в GridView, я получаю ошибку:

«Поле или свойство с именем« NestedClass.Name »не было найдено в выбранном источнике данных».

GridView привязан к объекту ObjectDataSource, и ObjectDataSource привязан к полностью заполненному экземпляру BoundClass.

Есть ли способ обойти это?

Примеры classов:

public class BoundClass { public string Name { get; set; } public NestedClass NestedClass { get; set; } } public class NestedClass { public string Name { get; set; } } 

    В столбце BoundField могут отображаться только непосредственные свойства экземпляра.

    Вместо этого следует использовать DataBinder.Eval в элементе itemtemplate для доступа к вложенному свойству, а не назначению его на связанное поле.

    Пример:

       

    <%#DataBinder.Eval(Container.DataItem, "NestedClass.Name")%>

    Кроме того, вы можете создать собственный class, который наследует BoundField и переопределяет GetValue для использования DataBinder.Eval, как описано в этом сообщении в блоге:

    http://web.archive.org/web/20120121123301/http://iridescence.no/post/FixingBoundFieldSupportforCompositeObjects.aspx

    Это расширение на BoundField вызывает DataBinder.Eval() , которое поддерживает вложенные свойства:

     public class BetterBoundField : BoundField { protected override object GetValue(Control controlContainer) { if (DataField.Contains(".")) { var component = DataBinder.GetDataItem(controlContainer); return DataBinder.Eval(component, DataField); } return base.GetValue(controlContainer); } } 
    Interesting Posts

    Как убедиться, что в базе данных MySQL нет условий гонки при добавлении поля?

    this: Невозможно использовать это в статическом контексте

    Неблагоприятные последствия использования kill -9 для завершения Skype

    Является ли iif-функция вычислять оба пути в SSRS или она коротко замкнута?

    URL-адрес брандмауэра для файла метаданных JSON

    Возвращает объект «NULL», если результат поиска не найден

    Можно ли выполнить строку в MySQL?

    AngularJS: как реализовать простую загрузку файла с помощью многострочной формы?

    Инструменты Unix: что, если файл называется минусом?

    Как сделать перемещение изображения во время прослушивания нажатия клавиши на Java.

    Google Chrome работает медленнее до localhost

    Рисование нескольких строк в D3.js

    Регулярные выражения Java и знак доллара

    Форматирование больших валютных или долларовых значений в миллионы / миллиарды

    Передача имени переменной в функцию из R

    Давайте будем гением компьютера.