Здесь мне нужно указать текущие роли пользователя, например, если у меня много ролей, таких как admin, operator, editor, writer и т. Д., А одно имя пользователя (userone) - в роли буксировки, как я буду быть в состоянии перечислить роли, как:MVC 5 получить текущий пользователь RoleNames
user name : userone
roles : editor,writer
для этого я нашел этот код, но есть ли простой или лучше сделать:
UserManager<ApplicationUser> UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(db));
RoleManager<IdentityRole> RoleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(db));
string name = User.Identity.Name;
string id = UserManager.FindByName(name).Id;
IList<string> roleNames = UserManager.GetRoles(id);
string selectedRoleName = "";
foreach (var item in roleNames)
{
ViewBag.selectedRoleName += item + ",";
selectedRoleName += item + ",";
}
точно в виду вы должны вызвать ViewBag.selectedRoleName
так вот, если посмотреть есть (,) дополнительно в фамилиях роли, просто поиск лучшего способа сделать это заранее спасибо
Если вы хотите объединить ролевые имена, используйте 'String.Join': ' string.Join (",", roleNames.ToArray()); ' – Marco