【问题标题】:Render SelectList with users with no roles使用没有角色的用户呈现 SelectList
【发布时间】:2020-12-28 01:58:49
【问题描述】:

我有一个来自 Identity 的所有用户的 Select List,它从 ApplicationUser 中提取 CompanyName。

<select asp-for="Contact.GeneralClientName" class="custom-select mr-sm-2" asp-items="@(new SelectList(Model.Users, "Id", "CompanyName"))">
    <option selected="selected" value="0">Please Select</option>
</select>

在此列表中,我需要省略具有以下两个角色之一的用户:ContactManagersContactAdministrators

目前我正在使用以下方式查询用户:

Users = await UserManager.Users.ToListAsync();

我想过给每个新用户一个角色,然后根据它过滤列表,但在这一点上,这将是一个很大的重做。我只需要隐藏 2 个用户,每个用户都有一个相关的角色,非常感谢任何帮助。

谢谢,

【问题讨论】:

    标签: asp.net .net-core razor-pages


    【解决方案1】:

    您可以尝试过滤具有特定角色的用户

    var result = await UserManager.Users
       .Include(user => user.Roles)
       .Where(user => user.Roles.Any(r => r.Name == "ContactManagers" || r.Name == "ContactAdministrators"))
       .ToListAsync();
    

    【讨论】:

    • 您的解决方案看起来很有希望。我已经实现了它,但我现在有另一个问题。为了让我使用 .Roles,我需要生成属性或字段吗?我在 include 子句中的 .Roles 下看到一条红线。
    • 如果您使用 .NET Core,请使用 this 方法
    猜你喜欢
    • 2019-02-13
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    • 2021-05-09
    相关资源
    最近更新 更多