C# asp.net标识列表中用户的角色名称

C# asp.net标识列表中用户的角色名称,c#,entity-framework,asp.net-mvc-5,asp.net-identity,C#,Entity Framework,Asp.net Mvc 5,Asp.net Identity,我正在尝试列出视图中的所有用户。我还想列出属于用户的角色。但我只能为用户获取角色id。但是我想列出我所有的角色名,而不是角色id。我怎么做? 这是我的密码: public async Task<ActionResult> Index() { var user = await _context.Users.Include(x=> x.Roles).ToListAsync(); ViewBag.Roles = await _context.Roles.ToListA

我正在尝试列出视图中的所有用户。我还想列出属于用户的角色。但我只能为用户获取角色id。但是我想列出我所有的角色名,而不是角色id。我怎么做? 这是我的密码:

public async Task<ActionResult> Index()
{
    var user = await _context.Users.Include(x=> x.Roles).ToListAsync();
    ViewBag.Roles = await _context.Roles.ToListAsync();
    return View(user);
}
公共异步任务索引()
{
var user=await_context.Users.Include(x=>x.Roles.ToListAsync();
ViewBag.Roles=wait_context.Roles.toListSync();
返回视图(用户);
}
鉴于

@model List<Projectname.Web.Models.ApplicationUser>

@foreach (var c in Model) 
{
    <tr>
        <td>@c.UserName</td>
        <td>@c.Email</td>
        <td>@c.LockoutEnabled</td>
        @foreach (var role in c.Roles)
        {
            <td>@role.RoleId</td>
        }
    </tr>
}
@型号列表
@foreach(模型中的var c)
{
@c、 用户名
@c、 电子邮件
@c、 锁定的
@foreach(c.Roles中的var角色)
{
@RoleId角色
}
}

p、 s我正在使用Asp.net标识

如果您试图获取每个用户的角色,您不应该只从您的
var用户
访问它吗?换句话说,您只需要使用
user.Roles

由于您已经在名为user的变量下获取了用户列表。。。首先,如果要保存列表、数组或任何形式的集合,必须以复数形式命名变量。在您的情况下,它应该如下所示:

var users = await _context.Users.Include(x=> x.Roles).ToListAsync();
现在回到要点。。。现在,您已经使用角色的
Include
获取了
用户
,假设您的
模型
是用户的集合,那么它看起来就是这样的

@foreach (var user in Model) 
{
    <tr>
        <td>@user.UserName</td>
        <td>@user.Email</td>
        <td>@user.LockoutEnabled</td>
        @foreach (var role in user.Roles)
        {
            <td>@role.Id</td>
            <td>@role.Name</td>
        }
    </tr>
}
@foreach(模型中的var用户)
{
@user.UserName
@用户邮箱
@user.LockoutEnabled
@foreach(user.Roles中的var角色)
{
@角色Id
@角色名称
}
}

“我遇到了一些问题”请描述这些问题,因为我们无法猜测它们可能是什么。另外,请在您的视图中提供
型号
的类型。@FatikhanGasimov您使用的是entityframework吗?@tmg是的,我使用的是efAre您是否在寻找可能的副本