在ASP.NET Core中,可以使用活动目录组的成员填充下拉列表。下面是一个示例代码,演示了如何实现这个功能:
System.DirectoryServices.AccountManagement
命名空间的引用。using System.DirectoryServices.AccountManagement;
using Microsoft.AspNetCore.Mvc.Rendering;
public List<SelectListItem> GetGroupMembers(string groupName)
{
List<SelectListItem> members = new List<SelectListItem>();
using (PrincipalContext context = new PrincipalContext(ContextType.Domain))
{
GroupPrincipal group = GroupPrincipal.FindByIdentity(context, groupName);
if (group != null)
{
foreach (Principal principal in group.GetMembers())
{
members.Add(new SelectListItem
{
Text = principal.Name,
Value = principal.SamAccountName
});
}
}
}
return members;
}
public IActionResult Index()
{
YourViewModel viewModel = new YourViewModel();
viewModel.Members = GetGroupMembers("YourGroupName");
return View(viewModel);
}
Html.DropDownListFor
方法来生成下拉列表:@model YourViewModel
@Html.DropDownListFor(m => m.SelectedMember, Model.Members, "Select a member")
在上面的代码中,YourGroupName
应该替换为你要获取成员的活动目录组的名称。YourViewModel
是你的视图模型类,其中包含一个名为Members
的属性,用于存储下拉列表项。SelectedMember
是用于存储用户选择的成员的属性。
这样,当用户访问该页面时,下拉列表将被填充为活动目录组的成员列表。用户可以从列表中选择一个成员,并将其值存储在SelectedMember
属性中。
领取专属 10元无门槛券
手把手带您无忧上云