提取不同站点下的列表内容
多话不说了,还是来点实在的,以下代码实现的是将大站点下的几个小站点提取出来,并显示在一个GridView中,前台代码就省了.
using
System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.Utilities;
using System.Reflection;
public partial class Controls_NewHref:System.Web.UI.UserControl
... {
privateSPSitesite;
privateSPWebweb;
privateSPListlist;
//privateSPFolderfolder;
protectedDataTabledt;
protectedstring[]listUrl;
protectedstringviewName;
protectedstring[]webUrl;
protectedstring[]itemName;
protectedDataViewdv;
intm=1;
protectedvoidPage_Load(objectsender,EventArgse)
...{
listUrl=newstring[]...{"Lists/List7/","Lists/List1/"};
viewName="ViewAllContent";
webUrl=newstring[]...{"","RunInfo/"};
itemName=newstring[]...{"新闻标题","会议名称"};
GridView1.Attributes.Add("class","table");
dt=newDataTable();
dt.Columns.Add("ID",System.Type.GetType("System.Int32"));
dt.Columns.Add("Title",System.Type.GetType("System.String"));
dt.Columns.Add("URL",System.Type.GetType("System.String"));
dt.Columns.Add("CreateTime",System.Type.GetType("System.DateTime"));
if(!IsPostBack)
...{
MakeTable();
BindGridView();
}
}
privatevoidBindGridView()
...{
GridView1.DataSource=dv;
GridView1.DataBind();
}
privatevoidMakeTable()
...{
dt.Rows.Clear();
try
...{
for(inti=0;i<listUrl.Length;i++)
...{
site=newSPSite("http://"+Request.Url.Host+"/"+webUrl[i]);
web=site.OpenWeb();
list=web.GetList(webUrl[i]+listUrl[i]);
SPViewview=list.Views[viewName];
SPQueryq=newSPQuery(view);
SPListItemCollectionitems=list.GetItems(q);
for(intj=0;j<items.Count;j++)
...{
dt.Rows.Add(m,items[j][itemName[i]],"http://"+Request.Url.Host+"/"+webUrl[i]+listUrl[i]+"DispForm.aspx?ID="+items[j].ID,items[j]["创建时间"]);
m++;
}
}
dv=newDataView(dt);
dv.Sort="CreateTimeASC";
dv.RowFilter="ID<=4";
}
catch(Exceptionex)
...{
Response.Write(ex.Message);
}
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.Utilities;
using System.Reflection;
public partial class Controls_NewHref:System.Web.UI.UserControl
... {
privateSPSitesite;
privateSPWebweb;
privateSPListlist;
//privateSPFolderfolder;
protectedDataTabledt;
protectedstring[]listUrl;
protectedstringviewName;
protectedstring[]webUrl;
protectedstring[]itemName;
protectedDataViewdv;
intm=1;
protectedvoidPage_Load(objectsender,EventArgse)
...{
listUrl=newstring[]...{"Lists/List7/","Lists/List1/"};
viewName="ViewAllContent";
webUrl=newstring[]...{"","RunInfo/"};
itemName=newstring[]...{"新闻标题","会议名称"};
GridView1.Attributes.Add("class","table");
dt=newDataTable();
dt.Columns.Add("ID",System.Type.GetType("System.Int32"));
dt.Columns.Add("Title",System.Type.GetType("System.String"));
dt.Columns.Add("URL",System.Type.GetType("System.String"));
dt.Columns.Add("CreateTime",System.Type.GetType("System.DateTime"));
if(!IsPostBack)
...{
MakeTable();
BindGridView();
}
}
privatevoidBindGridView()
...{
GridView1.DataSource=dv;
GridView1.DataBind();
}
privatevoidMakeTable()
...{
dt.Rows.Clear();
try
...{
for(inti=0;i<listUrl.Length;i++)
...{
site=newSPSite("http://"+Request.Url.Host+"/"+webUrl[i]);
web=site.OpenWeb();
list=web.GetList(webUrl[i]+listUrl[i]);
SPViewview=list.Views[viewName];
SPQueryq=newSPQuery(view);
SPListItemCollectionitems=list.GetItems(q);
for(intj=0;j<items.Count;j++)
...{
dt.Rows.Add(m,items[j][itemName[i]],"http://"+Request.Url.Host+"/"+webUrl[i]+listUrl[i]+"DispForm.aspx?ID="+items[j].ID,items[j]["创建时间"]);
m++;
}
}
dv=newDataView(dt);
dv.Sort="CreateTimeASC";
dv.RowFilter="ID<=4";
}
catch(Exceptionex)
...{
Response.Write(ex.Message);
}
}
}