在asp.net identity 2.0中列出用户和角色

时间:2014-09-20 06:08:23

标签: asp.net asp.net-mvc asp.net-identity-2

如何在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中获得用户的角色?

2 个答案:

答案 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的新手。如果有人有办法改进此代码,请随时添加您的观点。