Asp.net 如何根据条件在gridview中隐藏列?

Asp.net 如何根据条件在gridview中隐藏列?,asp.net,session,gridview,Asp.net,Session,Gridview,我在gridview中有一个由两个按钮组成的操作字段。我想根据会话变量“角色”!=“管理员”。表示如果会话变量不是admin,则要隐藏该列。以下是我的代码:- <asp:TemplateField HeaderText="Action" HeaderStyle-Width="200px" HeaderStyle-CssClass="text-center" ItemStyle-CssClass="text-center"> <ItemTemplate>

我在gridview中有一个由两个按钮组成的操作字段。我想根据会话变量“角色”!=“管理员”。表示如果会话变量不是admin,则要隐藏该列。以下是我的代码:-

<asp:TemplateField HeaderText="Action" HeaderStyle-Width="200px" HeaderStyle-CssClass="text-center"
    ItemStyle-CssClass="text-center">
    <ItemTemplate>
        &nbsp;&nbsp;
                    <asp:LinkButton ID="LinkButton1" ButtonType="Button" title="Edit" CssClass="fa fa-edit btn btn-info btn-sm"
            Text="Edit"
            runat="server" CommandArgument='<%# Eval("Id")%>' CommandName="Select" />
        &nbsp;&nbsp;
        <asp:LinkButton ID="LinkButton2" CssClass="fa fa-trash-o btn btn-danger btn-sm" Text="Delete"
            Visible='<%# (Session["role"].ToString()=="admin"|| Session["role"].ToString()=="editor"||Session["role"].ToString()=="hotel")?true:false %>'
            runat="server" CommandArgument='<%# Eval("Id") %>' CommandName="Delete"></asp:LinkButton>
    </ItemTemplate>
</asp:TemplateField>


有人能帮我吗?

您可以在代码隐藏中隐藏列

if (User.IsInRole("Admin") == false)
{
    GridView1.Columns[0].Visible = false;
}
或作为一个班轮

GridView1.Columns[0].Visible = !User.IsInRole("Admin");

您可以在代码隐藏中隐藏列

if (User.IsInRole("Admin") == false)
{
    GridView1.Columns[0].Visible = false;
}
或作为一个班轮

GridView1.Columns[0].Visible = !User.IsInRole("Admin");