【发布时间】:2012-11-08 07:55:43
【问题描述】:
下面是我的代码。我想检索网格中名字或姓氏相同的所有用户。但这里是在网格中对名称本身进行排序。
我让用户可以选择输入用户名。一旦他输入名称,我应该能够在 Active Directory 中搜索并返回以用户输入的文本开头的所有用户。
我应该能够显示所有可能性,例如,如果用户输入 adam,我应该让他选择是要查看 adam josef 还是 adam john 等
任何建议都会有所帮助。
这里是代码
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 + "*))";
string[] arrPropertiesToLoad = { "sn" };
deSearch.PropertiesToLoad.AddRange(arrPropertiesToLoad);
SearchResultCollection sResultColl = deSearch.FindAll();//Getting undefined error
Gridview1.DataSource = sResultColl ;
Gridview1.DataBind();
这是堆栈跟踪
[COMException (0x80004005): 未指定的错误]
System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) +439513
System.DirectoryServices.DirectoryEntry.Bind() +36
System.DirectoryServices.DirectoryEntry.get_AdsObject() +31
System.DirectoryServices.DirectorySearcher.FindAll(Boolean findMoreThanOne) +78
System.DirectoryServices.DirectorySearcher.FindAll() +9
Certificate.WebForm4.btngo0_Click(Object sender, EventArgs e) in C:\Users\273714\documents\visual studio 2010\Projects\Certificate\Certificate\WebForm4.aspx.cs:202
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +118
System.Web.UI.WebControls.Button.RaisePostBackEvent(字符串 事件参数)+112
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(字符串 eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,字符串 eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36 System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint) +5563
【问题讨论】:
-
如果我给的用户名是 sam,在网格中我得到它在垂直线上的 S A M。如果我取消注释这些行会出现未定义的异常。
-
未定义异常是什么意思?你能显示这个异常和调用堆栈吗?
-
堆栈跟踪存在问题。我通过取消注释这些行来更改代码。我哪里错了? :(
-
调用堆栈-> Certificate.DLL!Certificate.WebForm4.btngo0_Click(object sender, System.EventArgs e) Line 202 + 0xa bytes C#
标签: c# active-directory ldap