如何让 header 文本在 TemplateField 中动态显示?

How to make header text to be displayed dynamically in TemplateField?

我有这个 gridView:

<asp:GridView ItemType="WebUI.FeatureInfoArea.FeatureDesc" AutoGenerateColumns="false" ID="gvFeatList" runat="server" CssClass="table table-striped table-bordered table-hover pointer height-10">
    <Columns>
        <asp:TemplateField HeaderText="Title">
            <ItemTemplate>
                <%# Item.Title %>
                <span style="display: none;"><%# Item.UID %></span>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Tip">
            <ItemTemplate>
                <%# Item.Tip %>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

下面是将数据绑定到 GridView 控件的代码:

protected void Page_Load(object sender, EventArgs e)
{
    string alias_Title = blabla1;
    string alias_Tip = blabla2;

    var result = fim.getFeaturesList();
    gvFeatList.DataSource = result.featureDesc;
    gvFeatList.DataBind();
}

如您所见,我有一些名为 featureDesc 的 属性 并将其绑定到数据源。

同样在 Page_Load 事件中,我有两个名为 alias_Titlealias_Tip 的变量。

我需要显示 alias_Title 而不是标题和 alias_Tip 而不是提示。

所以我的问题是,如何使 TemplateFields 中的 HeaderText 显示为变量 alias_Titlealias_Tip

您可以在调用DataBind 后设置HeaderRow 单元格的文本。

gvFeatList.DataBind();

gvFeatList.HeaderRow.Cells[0].Text = alias_Title;
gvFeatList.HeaderRow.Cells[1].Text = alias_Tip;