我正在使用默认的.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 + ")";
}
}
}
答案 0 :(得分:0)
您可以使用Roles.GetUsersInRole。例如:
If Roles.GetUsersInRole(strRole).Count > 0 Then
'do NOT delete this role
End If