Ich verwende derzeit Visual C# mit ASP.NET-Framework, und ich versuche, eine GridView über eine DataTable
zu füllen. Die Informationen werden von Active Directory abgerufen.So füllen Sie eine Gridview aus Active Directory in Visual C#
Meine gridview wie folgt erklärt wird:
<asp:GridView ID="grdvList" runat="server" AutoGenerateColumns="False" Width="567px">
<Columns>
<asp:BoundField HeaderText="Name" ReadOnly="True" />
<asp:BoundField HeaderText="Phone" ReadOnly="True" />
<asp:BoundField HeaderText="Email" ReadOnly="True" />
</Columns>
</asp:GridView>
meinen Code Und das gridview zu füllen, um zu versuchen ist die folgende:
DirectoryEntry entry = new DirectoryEntry(ConfigurationManager.AppSettings["LDAP"]);
DirectorySearcher search = new DirectorySearcher(entry)
{
SearchScope = SearchScope.Subtree,
Filter = "(&(objectClass=user)(physicalDeliveryOfficeName=Dartmouth))"
};
search.PropertiesToLoad.Add("sAMAccountName");
SearchResultCollection result = search.FindAll();
DataTable table = new DataTable();
DataRow dr = null;
//Add columns to DataTable
table.Columns.Add("Name", System.Type.GetType("System.String"));
table.Columns.Add("Phone", System.Type.GetType("System.String"));
table.Columns.Add("Email", System.Type.GetType("System.String"));
foreach (SearchResult sr in uList)
{
dr = table.NewRow();
DirectoryEntry DE = sr.GetDirectoryEntry();
dr["Name"] = DE.Properties["givenName"].Value.ToString();
dr["Phone"] = DE.Properties["telephoneNumber"].Value.ToString();
dr["Email"] = DE.Properties["mail"].Value.ToString();
table.Rows.Add(dr);
}
table.AcceptChanges();
grdvList.DataSource = table;
grdvList.DataBind();
Zur Zeit, als ich es laufen, ist es ein
wirftObjektverweis nicht auf eine Instanz eines Objektfehlers gesetzt
in dieser Zeile:
dr["Phone"] = DE.Properties["telephoneNumber"].Value.ToString();
Jede Hilfe ist auf jeden Fall zu schätzen!
Mögliche Duplikat [Was für eine Nullreferenceexception ist, und wie kann ich es beheben?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception -und-wie-tu-ich-fix-it) –