如何将用户名注册到视图中的角色中

本文关键字:视图 角色 注册 用户 | 更新日期: 2023-09-27 18:15:36

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

@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>

如何使用UserId属性访问用户模块(电子邮件,用户名,地址等)

如何将用户名注册到视图中的角色中

不建议绑定数据库模型到视图,创建一个视图模型包含你需要在你的视图和填充它的控制器和绑定到你的视图属性。

  • //获取角色和userid。
  • //按角色获取用户。usersid使用Contains.

这就解决了:

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

原始答案:https://stackoverflow.com/a/23854281/6197785