C# 如何在视图中的角色中注册用户名?

C# 如何在视图中的角色中注册用户名?,c#,asp.net-mvc,razor,asp.net-identity,C#,Asp.net Mvc,Razor,Asp.net Identity,我想在视图中显示分配给特定角色的所有用户: @model IEnumerable<Microsoft.AspNet.Identity.EntityFramework.IdentityRole> <table id="tbrole" style="width:100%; border:dotted 1px; background-color:gainsboro; padding-left:10px;"> @foreach (var rol

我想在视图中显示分配给特定角色的所有用户:

@model IEnumerable<Microsoft.AspNet.Identity.EntityFramework.IdentityRole>

<table id="tbrole" style="width:100%; border:dotted 1px; background-color:gainsboro; padding-left:10px;">

                @foreach (var role in Model)
                {
                    <tr>
                        <td style="width:100%; border:dotted 1px;">
                            @role.Name<br />
                            <ul>
                                @foreach (var userInRole in role.Users)
                                {
                                    <li>@usersInRole.UserId</li>
                                }
                            </ul>
                            @if (role.Name != "Admin")
                            {
                                @Html.ActionLink("Delete", "Delete", new { id = role.Id }, new { style = "float:right;", @class = "glyphicon glyphicon-trash" })
                            }
                        </td>
                    </tr>}
            </table>
@model IEnumerable
@foreach(模型中的var角色)
{
@角色名称
    @foreach(role.Users中的var userInRole) {
  • @usersInRole.UserId
  • }
@if(role.Name!=“Admin”) { @ActionLink(“Delete”,“Delete”,new{id=role.id},new{style=“float:right;”,@class=“glyphion trash”}) } }

如何使用
UserId
property

访问用户模块(电子邮件、用户名、地址等)。建议不要将db模型绑定到视图,创建一个视图模型,该模型包含视图中所需的属性,并将其填入控制器,然后将其绑定到视图

  • //获取角色和用户ID
  • //使用Contains按角色获取用户

不建议将db模型绑定到视图,创建一个视图模型,其中包含视图中所需的属性,并将其填充到控制器中,然后将其绑定到视图

  • //获取角色和用户ID
  • //使用Contains按角色获取用户
    • 这解决了它:

      var users = context.Users        
          .Where(x => x.Roles.Select(y => y.Id).Contains(roleId))
          .ToList();
      
      原来的答案是:

      这就解决了问题:

      var users = context.Users        
          .Where(x => x.Roles.Select(y => y.Id).Contains(roleId))
          .ToList();
      

      原始答案:

      您需要使用视图模型来添加所需用户-您需要使用视图模型来添加所需用户-您所说的>是什么意思?不建议将db模型绑定到视图?我从MSDN上看到了一些采用这种方法的教程教程教程只是为了了解您,但实际的大规模项目是不同的,直接绑定DB模型有很多问题(例如:如果您想在属性上方添加一些自定义属性或自定义验证…)您所说的>是什么意思?不建议将db模型绑定到视图?我从MSDN上看到了一些采用这种方法的教程教程教程只是为了了解您,但实际的大规模项目是不同的,直接绑定DB模型有很多问题(例如:如果您想在属性上方添加一些自定义属性或自定义验证…)