/ / Uzyskiwanie dostępu do właściwości Tekst nagłówka w GridView TemplateField w kodzie Behind, gdy jest ustawiony z szablonu nagłówka - c #, asp.net, gridview

Uzyskiwanie dostępu do właściwości Text nagłówka GridView TemplateField w kodzie Behind, gdy jest ustawiony z szablonu nagłówka - c #, asp.net, gridview

Mam GridView w asp.aplikacja sieciowa, w której tekst nagłówka pola szablonu jest ustawiony w szablonie nagłówka pola, jako etykieta (skąd będzie pochodzić z pliku zasobów). Poniżej znajduje się kod

<asp:GridView ID="gridView" ClientIDMode="Static" runat="server" AutoGenerateColumns="False" meta:resourcekey="grdViewResource">
<Columns>
<asp:TemplateField meta:resourcekey="TemplateFieldResource1">
<HeaderTemplate>
<asp:Label ID="lblNameHeader" Text="Name" runat="server" meta:resourcekey="lblNameHeaderResource1"/>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblNameValue" Text="<%# Eval("Name") %>"/>
</ItemTemplate>
</Columns>
</asp:GridView>

W kodzie z tyłu próbuję uzyskać dostęp do zestaw HeaderText w kolumnie w ten sposób

var headerText = gridView.Columns[0].HeaderText;

Ale wartość nadchodzi Empty i nie jestem w stanie go pobrać z gridViewView "Właściwość HeaderTemplate również.

Proszę pomóż mi.

Odpowiedzi:

1 dla odpowiedzi № 1

Masz kilka problemów z kodem.

Brakuje ci zamknięcia </asp:TemplateField>. Twój asp:Label brakuje runat="server" atrybut.

Jeśli chcesz użyć właściwości .HeaderText, powinno to być oznaczenie:

<asp:GridView ID="gridView" ClientIDMode="Static" runat="server" AutoGenerateColumns="False" meta:resourcekey="grdViewResource">
<Columns>
<asp:TemplateField meta:resourcekey="TemplateFieldResource1" HeaderText="Name">
<ItemTemplate>
<asp:Label ID="lblNameValue" Text="<%# Eval("Name") %>" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

Jeśli chcesz użyć nagłówka HeaderTemplate z niestandardowym znacznikiem, musisz odrzucić kolumnę do szablonu TemplateField, a następnie uzyskać dostęp do kontrolek w niej zawartych.