Вложенный класс GridView boundfield

Я разрабатываю страницу ASP.NET на локальном хосте, а затем загружаю ее на сервер. На localhost я успешно использую вложенные классы в свойстве DataField BoundField GridView. Под вложенным классом я имею в виду следующее: DataField="Object.property", где Object - свойство элемента данных, привязанного к строке GridView. Все нормально работает. Но когда я публикую сайт на сервере, возникает исключение:

Поле или свойство с именем Object.property не найдено в выбранном источнике данных.

Я пытался найти решение и нашел следующее: GridView, связанный со свойствами вложенный класс

Я продолжал находить, но везде упоминалось, что использование вложенных классов в связанных полях невозможно. Но для меня это работает как шарм на localhost.

Кто-нибудь знает почему? Это последняя версия .NET Framework (я установил версию 4.5 на localhost и версию 4 на сервер) или что? Да, кажется очевидным, что причина в версии, но я не нашел упоминания об этом.

Спасибо за ваше разъяснение. Uiii


person uiii    schedule 08.02.2013    source источник


Ответы (1)


Столбец BoundField показывает только свойства, непосредственно связанные с экземпляром

Таким образом, мы можем использовать DataBinder.Eval в ItemTemplate только так, чтобы получить доступ к свойству вложенного класса.

Вот код:

<asp:TemplateField>
<ItemTemplate>
    <%#DataBinder.Eval(Container.DataItem, "NestedClass.Name")%>
</ItemTemplate>

person Rahul Nikate    schedule 03.12.2014