如何从AD的部门中拉出所有员工姓名并放置在下拉列表中

本文关键字:下拉列表 AD | 更新日期: 2023-09-27 17:54:27

帮助,我想知道如何从部门获得所有员工名称,然后将其绑定到下拉列表中?这里是我的代码找到一个记录,但我想要所有的结果?

        string connection = ConfigurationManager.ConnectionStrings["ADConnection"].ToString();
        DirectorySearcher dssearch = new DirectorySearcher(connection);
        dssearch.Filter = "(sAMAccountName=" + current_User + ")";
        SearchResult sresult = dssearch.FindOne();
        DirectoryEntry dsresult = sresult.GetDirectoryEntry();

如何从AD的部门中拉出所有员工姓名并放置在下拉列表中

你需要调用FindAll()而不是FindOne(),因为你想要所有员工的名字,并使用SearchResultCollection而不是SearchResult所以你可以保持多于一个记录,然后你可以绑定结果到下拉使用foreach:

c#后台代码:

string connection = ConfigurationManager.ConnectionStrings["ADConnection"].ToString();
DirectorySearcher dssearch = new DirectorySearcher(connection);
dssearch.Filter = "(&(objectCategory=Person))";
dssearch.Filter = "(sAMAccountName=" + current_User + ")";
SearchResultCollection searchResult = dssearch.FindAll();
foreach (SearchResult srUSers in searchResult)
{
    DirectoryEntry de = srUsers.GetDirectoryEntry();
    dropDownList1.Items.Add(de.Name.ToString());
}