我是MVC的新手。我有一个详细信息视图,带有视图模型,用于显示所选用户的数据。我想列出用户的角色,也想描述角色以及角色的ID。
我能够使用以下方式获得所选应用程序的角色:
model.UserRoles = await _userManager.GetRolesAsync(model.AppUser);
我不知道如何获得每个角色的描述并在我的详细信息视图中显示。
预先感谢。
我弄清楚了。我希望这对某人有帮助。我不知道这是最好的还是最有效的方法,但是它正在起作用。我在以下内容中获得了用户角色:
//Get the User Roles
IList<String> userRoles = await _userManager.GetRolesAsync(model.AppUser);
我用它来获取角色描述:
List<String> roleDescription = new List<String>();
if (userRoles.Count > 0)
{
foreach (string r in userRoles)
{
//Get the Description for the assigned Role
var desc = _roleManager.Roles.Where(n => n.Name == r).Select(d => d.Description).Single();
roleDescription.Add(desc.ToString());
}
//Using Tuple to combine text in [Role] | [Description] format in View
var roleWithDesc = new List<Tuple<string, string>>();
for (int i = 0; i < userRoles.Count; i++)
{
roleWithDesc.Add(Tuple.Create(userRoles[i].ToString(), roleDescription[i].ToString()));
}
model.UserRoles = roleWithDesc;
}
这是我的ViewModel中的代码:
public ApplicationUser AppUser { get; set; }
public Employee Employee { get; set; }
[Display(Name = "User Roles")]
public List<Tuple<string, string>> UserRoles { get; set; }
[Display(Name = "Available Roles")]
public List<Tuple<string, string>> AllRoles { get; set; }