- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正在使用具有 MVC 和 razor View 的 Identity 2.1.0。我的一个 View 通过此 GET Controller 操作获取所有用户的列表:
public async Task<ActionResult> Users()
{
return View(await UserManager.Users.ToListAsync());
}
在 View 中,有一个 foreach 迭代每个用户并显示常用信息,如电子邮件地址、用户名等。我想知道是否还有一种方法可以迭代每个用户的角色,以便我可以显示每个用户的角色成员身份,如下所示:
Customer
Employee
我一直没能弄清楚这一点。我的部分问题是我在 razor View 中没有任何 Intellisense,并且无法在 Google 上找到任何有用的信息。
View 模型是@model IEnumerable<XXXX_My_App.Models.ApplicationUser>
。 ApplicationUser 有一个 IdentityUser 基类。
最佳答案
最简单的方法是创建一个自定义 ViewModel,其中包含用户本身以及他所属的角色。实现可能如下所示:
Controller
public async Task<ViewResult> Users()
{
var users = UserManager.Users;
var model = new Collection<UserRoleViewModel>();
foreach (var user in users)
{
var roles = await UserManager.GetRolesAsync(user.Id);
var rolesCollection = new Collection<IdentityRole>();
foreach (var role in roles)
{
var role = await RoleManager.FindByNameAsync(roleName);
rolesCollection.Add(role);
}
model.Add(new UserRoleViewModel { User = user, Roles = rolesCollection });
}
return View("Users", model);
}
UserRoleViewModel
public class UserRoleViewModel
{
public ApplicationUser User { get; set; }
public Collection<IdentityRole> Roles { get; set; }
}
这样,您就可以在 View 中使用以下模型来迭代适当的属性
@model ICollection<YourProject.Models.UserRoleViewModel>
关于c# - 如何迭代 IEnumerable<ApplicationUser> 中的角色并在 razor View 中显示角色名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24588758/
我在 Visual Studio 中创建了一个新的 ASP.NET MVC 项目,模板创建了一个 IdentityConfig.cs 文件,如下所示 using System; using Syste
我有一个从同事那里得到的 ASP MVC 项目,它有 2 个上下文。一个来自登录所需的模板,另一个是自制的。所以我想把两者结合起来,但我总是收到这个错误: ApplicationUser is not
我正在使用 ASP.NET Identity 2.0。目前我想通过表 UserDetails 扩展 ApplicationUser(将 AspNetUsers 重命名为 Users),例如 First
是否可以检查 ApplicationUser 是否有声明? 我知道可以检查 ApplicationUser 是否在某个角色中 userManager.IsInRoleAsync(application
在我的 MVC 应用程序中,我使用 TPT inheritance 创建了基本 ASP Identity ApplicationUser 类的两个子类。 ,并希望向对象添加一些声明,以便我可以轻松地在
我正在尝试为我的模拟 ApplicationUserManager 提供一个 ApplicationUser。当我尝试添加角色时,我注意到 Roles 是一个只读属性。不确定在我的测试中实现的最佳方式
我创建了一个名为 Person 的自定义类来存储姓名、地址等。这个类/模型是从其他模型交叉引用的,包括 ApplicationUser: public class ApplicationUser :
我有以下实体: public class ApplicationUser : IdentityUser { ... public int? StudentId { get; set;
我在 Asp.net 中有一个 Web 应用程序,首先使用 Entity Framework 6 和数据库。用户连接时遇到问题。这是我的代码: Web.config
我正在从 Identity 1.0.0 迁移到 Identity 2.0.1 之后 article 并且生成的迁移代码与新的 IdentityUser 无关。它不会添加新列。 所以我做了一个新项目并再
我正在尝试掌握 ASP.NET MVC 5 中引入的新成员资格系统,但我遇到了一个小问题,我很确定您能帮我解决这个问题。 我要离开 this tutorial并为 ApplicationUser 引入
应该在什么基础上决定使用 IdentityDbContext与 IdentityDbContext在 ASP.NET MVC5 应用程序中? 使用IdentityDbContext给我们带来什么好处而
我希望能够使用 WebAPI 2 公开用户列表。但是,由于我在 MVC5 中使用新的 Asp.Net 身份验证框架,我似乎找不到一种方法来仅将特定字段标记为 数据成员。 这是我所拥有的: [DataC
我有这门课 public class ApplicationUser : IdentityUser { public string Email { get; set; } public s
Cannot implicitly convert type 'System.Collections.Generic.List' to 'System.Collections.Generic.IE
我正在谷歌搜索以在 ASP.NET Identity 3.0 的 Controller 中获取应用程序用户,但我只找到 5 及以下的结果。 我正在尝试获取 ApplicationUser 属性,但我根
我问过有关旧 MVC 版本和成员资格的类似问题,但这些解决方案不适用于 Idendity 和 MVC 6。 我想在 _LoginPartial.cshtml 文件中显示用户的名字。因此,我想访问当前登
我首先使用实体框架代码对用户创建小的 CRUD 操作。现在我需要使用存储过程删除用户,所以我找到许多链接获取如何在 EF 中使用存储过程的解决方案。所以我写这段代码那个。但是我在类中编写此代码和方
我将这个问题作为文档发布,因为我花了很多时间才找到这个简单的问题。我正在使用 VS15 生成的原始 MVC 项目并尝试对其进行修改。 错误:[InvalidOperationException:实体类
我正在使用 EF6/.Net 4.5.1 在 Web 窗体的用户控件中检索 ListView 的数据。我修改了 ApplicationUser 以包含一个使用 FK 属性的导航属性 [1:1],该属性
我是一名优秀的程序员,十分优秀!