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

被折叠的 条评论
为什么被折叠?



