我是.NET的新手,正在尝试获取所有注册用户及其角色名称的列表,并使用viewModel将它们发送到视图。
下面是ViewModel:
public class ApplicationUserListViewModel
{
[Display(Name = "User Email Address")]
public string UserEmail { get; set; }
public List<IdentityUserRole<string>> Roles { get; set; }
}
我尝试这样做是为了获得所有用户及其角色,并为每个用户创建一个ViewModel,然后将所有视图模型放在一个列表中,以便传递给视图:
var users = _userManager.Users.ToList();
var userList = users.Select(u =>
new ApplicationUserListViewModel {
UserEmail = u.Email,
Roles = u.Roles.ToList() }
).ToList();
但是,当我清楚地为每个用户分配角色时,这总是为每个用户提供0个角色计数。
发布于 2017-04-23 01:31:55
好吧,我把它弄好了。这可能不是应该这样做的,但它工作得很好。
var list = new List<ApplicationUserListViewModel>();
foreach (var user in _userManager.Users.ToList())
{
list.Add(new ApplicationUserListViewModel() {
UserEmail = user.Email,
Roles = await _userManager.GetRolesAsync(user)
});
}
https://stackoverflow.com/questions/43562150
复制相似问题