1

グリッドビューのあるページがあります。グリッドビューには、デフォルトで「編集を有効にする」と「削除を有効にする」がチェックされています。コード ビハインド page_load イベントで、これらのいずれかを「チェック解除」できるようにしたいと考えています。

私はこのSOの質問を見つけましたが、これはコマンド列全体を隠しています。ユーザーの役割に基づいて「編集」または「削除」ハイパーリンクのみを非表示にしたい。どうすればこれを行うことができますか?

4

1 に答える 1

2

これをGridViewに追加します。ondatabound="GridView1_DataBound"GridViewのコマンド列を分離します

<asp:CommandField ShowDeleteButton="True"  />
<asp:CommandField  ShowEditButton="True" />

protected void GridView1_DataBound(object sender, EventArgs e)
{
        if (User.IsInRole("Administrator"))
        {
            GridView1.Columns[0].Visible = true; 
            GridView1.Columns[1].Visible = true; 
        }
        else {
            GridView1.Columns[0].Visible = false;
        }
}

要件に基づいて列インデックスを変更します。最初の列は0です。

于 2012-04-14T16:43:21.963 に答える