1

我有一个带有网格视图的页面。默认情况下,gridview 已选中“启用编辑”和“启用删除”。我希望能够在代码隐藏 page_load 事件中“取消选中”其中任何一个。

我发现了这个 SO question但这隐藏了整个命令列。我只想根据用户的角色隐藏“编辑”或“删除”超链接。我该怎么做呢?

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