To acces the hidden User Information List list of a SharePoint site (only
accessible by administrators), the best way is to use the SiteUserInfoList property of the SPWeb object as in the following example:
// Button1-
title and Internal name of User Information list
protected void
Button1_Click(object sender, EventArgs e)
{
DataTable dtt = new
DataTable();
dtt.Columns.Add("Title ", typeof(string));
dtt.Columns.Add("InternalName", typeof(string));
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite
site = new SPSite("http://abc/"))
{
using (SPWeb
web = site.OpenWeb())
{
SPList listUserInfo = web.SiteUserInfoList;
SPFieldCollection fieldColl = listUserInfo.Fields;
foreach (SPField field in fieldColl)
{
Console.WriteLine("Name:{0}
- Type:{1}", field.Title, field.TypeAsString);
dtt.NewRow();
//dtt.Rows.Add(words[i], words2[i], words3[i]);
//dtt.Rows.Add(a, b, c,
txt4,txt5,txt6,txt7,txt8,txt9,txt10);
dtt.Rows.Add(field.Title,
field.InternalName);
}
GridView1.DataSource =
dtt;
GridView1.DataBind();
}
}
});
}
// Button2
– fetch record from user information list
protected void
Button2_Click(object sender, EventArgs e)
{
DataTable dt = new
DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Title", typeof(string));
dt.Columns.Add("User Name",
typeof(string));
dt.Columns.Add("Email", typeof(string));
using (SPSite
mySiteCollection = new SPSite("http://abc/"))
{
using (SPWeb
mySite = mySiteCollection.OpenWeb(mySiteCollection.RootWeb.ID))
{
SPList usersList = mySite.SiteUserInfoList;
SPListItemCollection oSpListCln = usersList.Items;
//iterate through all the items in itemcollection object
foreach
(SPListItem item in
oSpListCln)
{
dt.NewRow();
dt.Rows.Add(item["ID"],
item["Title"], item["UserName"], item["EMail"]);
}
GridView2.DataSource =
dt;
GridView2.DataBind();
}
}
}
// Button3
– update record from user information list
{
using (SPSite
mySiteCollection = new SPSite("http://abc/"))
{
using (SPWeb
mySite = mySiteCollection.OpenWeb(mySiteCollection.RootWeb.ID))
{
mySite.AllowUnsafeUpdates = true;
SPList usersList =
mySite.SiteUserInfoList;
//in
ID(column) have record which contain 5(value) number
SPListItem
item = usersList.GetItemById(Convert.ToInt32("5"));
item["EMail"] = "abc@hotmail.com";
item.Update();
}
}
}










