多话不说了,还是来点实在的,以下代码实现的是将大站点下的几个小站点提取出来,并显示在一个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

...
{
private SPSite site;
private SPWeb web;
private SPList list;
//private SPFolder folder;
protected DataTable dt;
protected string[] listUrl;
protected string viewName;
protected string[] webUrl;
protected string[] itemName;
protected DataView dv;
int m = 1;

protected void Page_Load(object sender, EventArgs e)

...{

listUrl = new string[] ...{ "Lists/List7/", "Lists/List1/" };
viewName = "ViewAllContent";

webUrl = new string[] ...{ "", "RunInfo/" };

itemName = new string[] ...{ "新闻标题" ,"会议名称"};

GridView1.Attributes.Add("class", "table");
dt = new DataTable();
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();
}
}

private void BindGridView()

...{
GridView1.DataSource = dv;
GridView1.DataBind();
}

private void MakeTable()

...{
dt.Rows.Clear();
try

...{

for (int i = 0; i < listUrl.Length; i++)

...{
site = new SPSite("http://" + Request.Url.Host + "/" + webUrl[i]);
web = site.OpenWeb();
list = web.GetList(webUrl[i] + listUrl[i]);
SPView view = list.Views[viewName];
SPQuery q = new SPQuery(view);
SPListItemCollection items = list.GetItems(q);
for (int j = 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 = new DataView(dt);
dv.Sort = " CreateTime ASC";
dv.RowFilter = " ID <= 4";
}
catch (Exception ex)

...{
Response.Write(ex.Message);
}
}
}