2017-07-20 25 views
1

私は2つのボタンから成るアクションビューをグリッドビューに持っています。セッション変数 "role"!= "admin"という条件に応じて、actionカラムを非表示にしたい。セッション変数が管理者でない場合は、列を非表示にしたいという意味です。以下は私のコードです: -条件に基づいてグリッドビューの列を非表示にする方法は?

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

誰でも教えてもらえますか?

答えて

0

コードの列を非表示にすることができます。

if (User.IsInRole("Admin") == false) 
{ 
    GridView1.Columns[0].Visible = false; 
} 

または1ライナーとして。

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

ありがとうVDWWD –

関連する問題