ASP: BoundField headerText как переменная - PullRequest
0 голосов
/ 26 января 2020

Можно ли динамически установить свойство HeaderText на ASP: BoundField с помощью переменной?

У меня есть элемент управления ascx, который используется в двух местах, который проверяет текущий путь запроса, чтобы увидеть, должен ли он используйте одну или другую строку для значения HeaderText

<%  
    var headerTextVal = "Top";
    var path = Page.Request.Path;
    if (!path.Contains("/desktop/homescreen.aspx"))
    {
        headerTextVal = "T";
    }
%>

<asp:GridView ID="summaryGridView" DataSourceID="MySummary" runat="server"
    Visible="true" EnableViewState="true" AutoGenerateColumns="False" DataKeyNames="name, top"
    Width="100%" AllowSorting="true" GridLines="None" OnRowDataBound="summaryGridView_RowDataBound"
    OnRowCommand="summaryGridView_RowCommand" OnSorting="summaryGridView_Sorting">
    <Columns> 
        <asp:HyperLinkField DataTextField="name" HeaderText="Name" SortExpression="name" />
        <asp:BoundField DataField="top" HeaderText="<%#Eval("headerTextVal")%>" SortExpression="top" />
    </Columns>
</asp:GridView>

Когда я пытаюсь сделать это таким образом, я получаю следующую ошибку:

ASP. Net Ошибка времени выполнения: код блоки не поддерживаются в этом контексте

Разве это невозможно сделать так?

1 Ответ

0 голосов
/ 27 января 2020
protected void summaryGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.Header)
    {
        if(your condition)
        {
            e.Row.Cells[0].Text = "T";
        }
    }
}
...