グリッドビューのあるページがあります。グリッドビューには、デフォルトで「編集を有効にする」と「削除を有効にする」がチェックされています。コード ビハインド page_load イベントで、これらのいずれかを「チェック解除」できるようにしたいと考えています。
私はこのSOの質問を見つけましたが、これはコマンド列全体を隠しています。ユーザーの役割に基づいて「編集」または「削除」ハイパーリンクのみを非表示にしたい。どうすればこれを行うことができますか?
グリッドビューのあるページがあります。グリッドビューには、デフォルトで「編集を有効にする」と「削除を有効にする」がチェックされています。コード ビハインド page_load イベントで、これらのいずれかを「チェック解除」できるようにしたいと考えています。
私はこのSOの質問を見つけましたが、これはコマンド列全体を隠しています。ユーザーの役割に基づいて「編集」または「削除」ハイパーリンクのみを非表示にしたい。どうすればこれを行うことができますか?
これを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です。