2013-02-08 3 views
3

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

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

Я пытался найти решение и нашел это: GridView bound with Properties of nested class

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

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

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

ответ

0

BoundField колонки показывают только непосредственные связанные свойства к примеру

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

Вот код:

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