繁体   English   中英

如何使用 ASP.NET Core 中的 Active Directory 组成员填充下拉列表?

[英]How do I populate a dropdown list with members of an Active Directory Group in ASP.NET Core?

我想用 Active Directory 组的成员姓名填充下拉列表。 我目前所能做的就是显示 Microsoft.AspNetCore.Mvc.Rendering.SelectListItem 所以某处出了问题。

这是我到目前为止所拥有的:

public static List<SelectListItem> ManagementUsers = GetManagementUsers();

public static List<SelectListItem> GetManagementUsers()
{
    List<SelectListItem> _users = new List<SelectListItem>();
    PrincipalContext adServer = new PrincipalContext(ContextType.Domain, "DOMAIN");

    GroupPrincipal managerGroup = GroupPrincipal.FindByIdentity(adServer, "Management Group");

    if (managerGroup != null)
    {
        foreach (Principal principal in managerGroup.GetMembers())
        {
            _users.Add(new SelectListItem { Text = principal.SamAccountName, Value = principal.SamAccountName });
        }
    }

    List<SelectListItem> ManagementUsers = _users;

    return ManagementUsers;
}

然后在我的 Razor 页面上:

<select id="manager" class="form-control form-control-sm" asp-items="@(new SelectList(IndexModel.ManagementUsers))">
    <option value=""></option>
</select>

在您的剃须刀页面中,更改为使用以下代码:

<select id="manager" class="form-control form-control-sm" asp-items="@((List<SelectListItem>)IndexModel.ManagementUsers)">
    <option value=""></option>
</select>

正如@poke 建议的那样,您可以直接使用asp-items="@IndexModel.ManagementUsers"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM