我有一个 ASPxGridView,我想允许一些用户读取和其他用户写入访问权限。理想情况下,这将基于 Active Directory 组。
我怎样才能做到这一点?
问问题
3939 次
3 回答
1
如果您正在使用行的就地编辑,那么这将是隐藏允许用户编辑网格的控件的问题。
您可以通过使用事件处理程序连接到 GridView 的 RowDataBound 事件并检查用户的角色来做到这一点。如果他们未通过检查,则隐藏编辑控件。
void CustomersGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
if (!Roles.IsUserInRole("Admin"))
{
// Hide the edit controls.
// This would be your "Edit" button or something.
e.Row.Cells[1].Controls[0].Visible = false;
}
}
}
于 2009-09-09T15:55:34.053 回答
0
我最终为 DataBound 事件创建了一个事件处理程序并禁用了命令列,如下所示:
protected void ASPxGridView1_DataBound(object sender, EventArgs e)
{
if (!User.IsInRole(ConfigurationSettings.AppSettings["EditActiveDirectoryGroup"]))
{
foreach (GridViewColumn c in ASPxGridView1.Columns)
{
if (c.GetType() == typeof(GridViewCommandColumn))
{
c.Visible = false;
}
}
}
}
于 2009-09-14T09:19:01.133 回答