如何在ASP.NET Identity 2.0中显示用户及其角色列表。
示例...
John Doe - 管理员 Bob Smith - 用户
到目前为止,我已经创建了一个UserRoleViewModel
public string fname { get; set; }
public string rname { get; set; }
在控制器中,我完成了以下操作......
ApplicationDbContext db = new ApplicationDbContext();
UserRoleViewModel obj = new UserRoleViewModel();
var result = from u in db.Users
select new UserRoleViewModel
{
fname = u.FirstName,
rname = ???
};
return View(result);
这是正确的做法吗?如果是,我如何在rname中获得用户的角色?
答案 0 :(得分:0)
对@Model.Roles
强烈打印的视图中的@model WebApplicationName.Models.ApplicationUser
不适合您吗?
控制器:
public ActionResult NameOfTheView(){return View(db.Users.ToList());}
答案 1 :(得分:0)
终于找到了我的问题的解决方案......
这是我创建的ViewModel ......
public class UserRoleViewModel
{
public string fname { get; set; }
public string rname { get; set; }
}
这是控制器...
public ActionResult Users()
{
var result = from user in db.Users
from role in db.Roles
where role.Users.Any(r => r.UserId == user.Id)
select new UserRoleViewModel
{
fname = user.FirstName,
rname = role.Name
};
return View(result);
}
这就是观点......
@model IEnumerable<ApplicationName.Models.UserRoleViewModel>
<ul>
@foreach(var u in Model)
{
<li>@u.fname - @u.rname</li>
}
</ul>
我一般都是LINQ,Lambda和MVC的新手。如果有人有办法改进此代码,请随时添加您的观点。