2013-06-17 2 views
5
List<MasterBook> listOfBooks = new List<MasterBook>(); 

после того, как я поставил объекты masterbook которые, кстати, имеют 3 поля (имя, идентификатор и активный) в списокasp.net связать список с GridView

GridView1.DataSource = listOfBooks; 
GridView1.DataBind(); 

в веб-форме

<Columns> 

      <asp:TemplateField HeaderText="Book Name"> 
       <ItemTemplate> 
        <asp:Label ID="BookNameText" runat="server" 
          Text="<%#Container.DataItem%>"> 

        </asp:Label> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 

    </asp:GridView> 

проблема заключается в том, что я хочу, чтобы отобразить имя BookMaster в GridView в колонке этот код печати BookMaster в колонке, как я могу сделать это ввести имя

ответ

3

В ролях его MasterBook:

Text="<%# ((MasterBook) Container.DataItem).Name %>"> 
+0

поблагодарить у очень он работал, наконец :) – user2401745

0

Быстрый, грязный хак обходной путь, чтобы перегрузить ToString() метод вашего MasterBook класса для того, чтобы вернуть это имя. После этого сделайте seppuku, если вы это сделаете.

Элегантный и изящный способ сделать an object datasource. Таким образом, вы можете привязать столбцы вида сетки к свойствам объектов. В случае DataList или других шаблонных элементов управления данными вы можете привязать свойства своих объектов к элементам управления элементами управления данными в своих шаблонах.

Средний путь в ответе hutchonoid: оценить свойство объекта, а не сам объект.

0

Используйте этот синтаксисом:

<asp:Label ID="BookNameText" runat="server" 
         Text="<%# ((MasterBook)Container.DataItem).Name %>"> 
Смежные вопросы