首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用ASP.NET核心中活动目录组的成员填充下拉列表?

在ASP.NET Core中,可以使用活动目录组的成员填充下拉列表。下面是一个示例代码,演示了如何实现这个功能:

  1. 首先,确保你的项目中已经添加了对System.DirectoryServices.AccountManagement命名空间的引用。
  2. 创建一个方法,用于获取活动目录组的成员列表,并将其添加到下拉列表中:
代码语言:txt
复制
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;
}
  1. 在你的控制器中调用这个方法,并将返回的下拉列表项绑定到视图模型中的一个属性:
代码语言:txt
复制
public IActionResult Index()
{
    YourViewModel viewModel = new YourViewModel();
    viewModel.Members = GetGroupMembers("YourGroupName");

    return View(viewModel);
}
  1. 在视图中使用Html.DropDownListFor方法来生成下拉列表:
代码语言:txt
复制
@model YourViewModel

@Html.DropDownListFor(m => m.SelectedMember, Model.Members, "Select a member")

在上面的代码中,YourGroupName应该替换为你要获取成员的活动目录组的名称。YourViewModel是你的视图模型类,其中包含一个名为Members的属性,用于存储下拉列表项。SelectedMember是用于存储用户选择的成员的属性。

这样,当用户访问该页面时,下拉列表将被填充为活动目录组的成员列表。用户可以从列表中选择一个成员,并将其值存储在SelectedMember属性中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券