提取不同站点下的列表内容

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

    }

}

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值