1

Здравствуйте. Подскажите, что я делаю не так.

ObjectDataSource:

<asp:ObjectDataSource 
    ID="odsSeniority" 
    runat="server" 
    TypeName="Pipeline.DAL.SosrBat" 
    SelectMethod="EmployeeCollectionWithFilter">
    <SelectParameters>
        <!-- Параметры -->
    </SelectParameters>
</asp:ObjectDataSource>

GridView:

<asp:GridView 
    ID="grvSeniority" 
    runat="server" 
    DataSourceID="odsSeniority"
    DataKeyNames="tbn" 
    AutoGenerateColumns="False">

<!-- Поля связаны --> <asp:TemplateField HeaderText="ТН" ItemStyle-Width="50px"> <ItemTemplate> <asp:Label ID="label1" runat="server" Text='<%# Bind("TBN")%>' /> </ItemTemplate> </asp:TemplateField>

Но в итоге grvSeniority.Rows[i].DataItem равен null. В чем ошибка?

Nicolas Chabanovsky
  • 51,426
  • 87
  • 267
  • 507

1 Answers1

2

Цитата из статьи MSDN.

Свойство DataItem доступно только во время и после события RowDataBound элемента управления GridView.

И еще попробуйте вместо <%# Bind("TBN")%> использовать <%#Eval("TBN")%>.

Если не будет получаться, можно взять целиком пример из MSDN и подогнать под себя.

Nicolas Chabanovsky
  • 51,426
  • 87
  • 267
  • 507