我在gridview中有一个包含两个按钮的动作字段。我想隐藏动作列,具体取决于我的会话变量“role”!=“admin”的条件。意味着如果会话变量不是admin,我想隐藏列。以下是我的代码: -
<asp:TemplateField HeaderText="Action" HeaderStyle-Width="200px" HeaderStyle-CssClass="text-center"
ItemStyle-CssClass="text-center">
<ItemTemplate>
<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" />
<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>
任何人都可以帮我吗?
答案 0 :(得分:0)
您可以隐藏代码背后的列。
if (User.IsInRole("Admin") == false)
{
GridView1.Columns[0].Visible = false;
}
或者作为一个班轮。
GridView1.Columns[0].Visible = !User.IsInRole("Admin");