我想从使用LDAP的目录服务器中显示与用户提供的名称匹配的所有名称,并将其绑定到网格视图。我能够实现这个任务,而不仅仅是一个名字,而是获得像LDAP这样的其他属性:// CN = Neha Shetty,OU = Users,OU = MUM,OU = Mumbai,OU = India,OU = APAC,OU = bunt, DC = XXX,DC = COM。但我只是想要Neha Shetty。这里是我的代码从asp.net中获取ldap的名称c#
DirectoryEntry de = new DirectoryEntry("ADConnection");
DirectorySearcher deSearch = new DirectorySearcher(de);
//set the search filter
deSearch.SearchRoot = de;
String UserName = txt_To.Text;
// deSearch.Filter = "(&(objectCategory=user)(GivenName=*" + UserName + "*))";
deSearch = new DirectorySearcher("(&(objectCategory=user)(Name=*" + UserName + "*))");
//deSearch.SearchScope = SearchScope.Subtree;
string[] arrPropertiesToLoad = { "Surname" };
deSearch.PropertiesToLoad.AddRange(arrPropertiesToLoad);
// SearchResultCollection sResultColl = deSearch.FindAll();
SearchResultCollection sResultColl;
sResultColl = deSearch.FindAll();
Gridview1.DataSource = sResultColl;
Gridview1.DataBind();
我猜SearchResult到GridView的默认绑定将显示条目的可分辨名称。你应该从每个SearchResult中提取Surname属性值(类似于sResultColl.Cast()。Select(sr => GetSurnameAttributValue).ToList();)并将结果字符串集合绑定到GridView。 –
jbl