获取每个角色的用户数

时间:2013-06-11 13:51:06

标签: asp.net-membership

我正在使用默认的.NET成员资格提供程序,并使用Roles.GetAllRoles()为角色填充角色。我有一个命令字段来删除角色和角色本身的边界字段。我需要做的是添加每个角色的用户数,角色列将如下所示;

管理员(4)
主管(12)

为了防止删除具有用户的角色,我考虑使用RowCreated事件来获取数据库并将值添加到角色。有没有更好的方法呢?

编辑:解决方案 为了实现我的需要,我不得不使用RowDataBound事件。

protected void RoleList_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            string roleName = ((Label)e.Row.FindControl("RoleNameLabel")).Text;

            if (roleName.Trim().Length > 0 && Roles.RoleExists(roleName))
            {
                Int32 roleCount = Roles.GetUsersInRole(roleName).Count();
                ((Label)e.Row.FindControl("RoleNameLabel")).Text += "(" + roleCount + ")";
            }
        }

    }

1 个答案:

答案 0 :(得分:0)

您可以使用Roles.GetUsersInRole。例如:

If Roles.GetUsersInRole(strRole).Count > 0 Then
    'do NOT delete this role
End If