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按角色获取用户
- //获取角色和用户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模型有很多问题(例如:如果您想在属性上方添加一些自定义属性或自定义验证…)