Я использую поставщик .NET-членства по умолчанию и заполняю Gridview ролями, используя 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 + ")";
}
}
}
Спасибо, теццо, что делает мой день :) – Mario