/ / Доступ до властивості тексту заголовка GridView TemplateField в коді, коли він задається з шаблону заголовка - c #, asp.net, gridview

Доступ до властивості тексту заголовка GridView TemplateField у коді Позаду, коли він встановлений з шаблону заголовка - c #, asp.net, gridview

У мене є GridView в ASP.Чисте додаток, де Текст заголовка поля шаблону встановлюється в шаблоні заголовка поля, як мітка (де вона вийде з файлу ресурсу). Нижче наведено код

<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>

У коді, що стоїть, я намагаюся отримати доступ до заголовка HeaderText, встановленого в такому стовпці

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

Але значення приходить Порожній, і я не можу отримати його з gridView.Columns "HeaderTemplate властивість, а також.

Будь ласка, допоможи мені.

Відповіді:

1 для відповіді № 1

У вас є кілька проблем із кодом.

Вам не вистачає закриття </asp:TemplateField>. Твій asp:Label відсутній runat="server" атрибут

Якщо ви хочете використовувати властивість .HeaderText, це має бути ваша розмітка:

<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>

Якщо ви хочете використовувати шаблон HeaderTemplate з користувальницькою розміткою в ньому, то вам необхідно передати стовпець до TemplateField, а потім отримати доступ до елементів керування в ньому.