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

我想用 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>


喵喵时光机
浏览 61回答 1
1回答

哔哔one

在您的剃刀页面中,更改为使用以下代码:<select&nbsp;id="manager"&nbsp;class="form-control&nbsp;form-control-sm"&nbsp;asp-items="@((List<SelectListItem>)IndexModel.ManagementUsers)"> &nbsp;&nbsp;&nbsp;&nbsp;<option&nbsp;value=""></option> </select>正如@poke 所建议的,您可以直接使用asp-items="@IndexModel.ManagementUsers"
打开App,查看更多内容
随时随地看视频慕课网APP