1.站点集中可以使用SPSite.AllWeb,然后遍历所有站点的isRootWeb,根据siteTemplate取得需要的子站点。

/// <summary>
/// Handles the Load event of the Page control.
/// </summary>
protected void Page_Load(object sender, EventArgs e)
{
var web = SPControl.GetContextWeb(Context); var subSite = new SPSite(web.Site.ID).AllWebs; var list = new List<ProjectOverviewContent>(); //Foreach sub site
foreach (SPWeb site in subSite)
{
if (site.IsRootWeb) continue;
if (site.WebTemplate != WebTemplate.PM.ToString()) continue; try
{
var content = site.Lists.TryGetList(ProjectOverviewContent.ProjectListName);
if (content == null || content.Items.Count == ) continue; var link = new ProjectOverviewContent
{
//get sitrUrl
SubSiteUrl = site.Url,
//get site created time
SiteCreateTime = site.Created,
}; //Foreach sub site list => ProjectContent
foreach (SPListItem item in content.Items)
{
link.ProjectName = item[ProjectOverviewContent.ProjectNameMapping].TryToString();
link.StartDate = item[ProjectOverviewContent.StartDateMapping].TryToString().SplitDate();
link.EndDate = item[ProjectOverviewContent.EndDateMapping].TryToString().SplitDate();
link.ServiceLine = item[ProjectOverviewContent.ServiceLineMapping].TryToString();
link.Industry = item[ProjectOverviewContent.IndustryMapping].TryToString();
} content = site.Lists.TryGetList(ProjectOverviewContent.MemberListName);
if (content == null)
{
list.Add(link);
continue;
} //Foreach sub site list => MemberContent
foreach (SPListItem item in content.Items)
{
link.Position = item[ProjectOverviewContent.PositionMapping].TryToString(); if (link.Position == Position.MIC.ToString())
{
link.MIC = item[ProjectOverviewContent.MemberNameMapping].TryToString();
}
else if (link.Position == Position.PIC.ToString())
{
link.PIC = item[ProjectOverviewContent.MemberNameMapping].TryToString();
}
else if (link.Position == Position.PM.ToString())
{
link.PM = item[ProjectOverviewContent.MemberNameMapping].TryToString();
}
} list.Add(link);
}
catch (SPException spException)
{
LogHelper.Error(spException);
}
catch (Exception ex)
{
LogHelper.ShowError(lblErrorMessage, ex);
}
} list.Sort(); tblProjectOverview.DataSource = list.Take();
tblProjectOverview.DataBind();
}

2.子站点读取站点集数据可以通过New SPSite("url").RootWeb获取。

public SPWeb RootSite = new SPSite(ProjectContent.SiteUrlMapping).RootWeb;

/// <summary>
/// Gets the project information from root site.
/// </summary>
public List<ServiceOfferingContent> GetProjectInfo(string projectCode)
{
var siteContent = RootSite.Lists[ServiceOfferingContent.ListName];
if (siteContent == null || siteContent.Items.Count == ) return null; var list = new List<ServiceOfferingContent>(); foreach (SPListItem item in siteContent.Items)
{
var link = new ServiceOfferingContent()
{
ProjectCode = item[ServiceOfferingContent.ProjectCodeMapping].TryToString(),
ServiceLine = item[ServiceOfferingContent.ServiceLineMapping].TryToString(),
Industry = item[ServiceOfferingContent.IndustryMapping].TryToString(),
Id = item[ServiceOfferingContent.IdMapping].TryToString(),
Title = item[ServiceOfferingContent.TitleMapping].TryToString(),
Contents = item[ServiceOfferingContent.ContentsMapping].TryToString(),
ThumbnailUrl = item[ServiceOfferingContent.ThumbnailUrlMapping].TryToString(),
HeadImageUrl = item[ServiceOfferingContent.HeadImageUrlMapping].TryToString(),
ContentsImageUrl = item[ServiceOfferingContent.ContentsImageUrlMapping].TryToString(),
Summary = item[ServiceOfferingContent.SummaryMapping].TryToString(),
};
if (link.ProjectCode != projectCode) continue; list.Add(link);
return list;
}
return null;
}

SharePoint 站点集和子站点数据互相读取的更多相关文章

  1. 如何迁移SharePoint 2010至新的站点

    SharePoint使用非常方便,但是有一个问题获取会困扰大家,就是SharePoint的备份和迁移.下面我们来看一下如何把SharePoint迁移至别的SharePoint站点. 1. 使用网站集管 ...

  2. Stsadm 导入导出子站点

    SharePoint通过stsadm备份和还原子网站(不是网站集)   大家都知道SharePoint的stsadm命令提供了很多便捷甚至是唯一的操作方法! 这里列出的所有命令:http://www. ...

  3. 黄聪:WordPress 多站点建站教程(六):使用WP_Query、switch_to_blog函数实现获取子站点分类中的文章

    首先在你使用主题的funtions.php里面添加下代码: //根据时间显示最新的分类文章内容,每个站点显示一篇内容 //$blog_id 子站点ID //$catid 分类ID wp_reset_q ...

  4. Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作

    详细的Spring MVC框架搭配在这个连接中: Maven 工程下 Spring MVC 站点配置 (一) Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作 这篇主 ...

  5. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 站点设置

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 站点设置         你应该熟悉(假设还咩有)的SharePo ...

  6. iis子站点

    在iis已有的站点下可以继续添加”应用程序”,就构成子站点:需要访问子站点app下的程序,只想在controller/action前,加个app就行,即app/controller/action 这样 ...

  7. 黄聪:WordPress 多站点建站教程(四):获取子站点相关信息(站点的注册时间,修改时间,总文章数,URL等)

    1.获取子站点blogs表里面的内容信息 $blog_details = get_blog_details(1); echo 'Blog '.$blog_details->blog_id.' i ...

  8. 《今天你买到票了吗?——从铁道部12306.cn站点漫谈电子商务站点的“海量事务快速处理”系统》

    <今天你买到票了吗?--从铁道部12306.cn站点漫谈电子商务站点的"海量事务快速处理"系统> 首发地址: http://bbs.hpx-party.org/thre ...

  9. 【SharePoint学习笔记】第3章 SharePoint列表新特性以及数据访问

    第3章 SharePoint列表新特性以及数据访问   使用CAML查询语言     CAML:协作应用程序标记语言 Collaboration Application Markup Language ...

随机推荐

  1. HTTP 请求报文 响应报文

    引言 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发 ...

  2. Android界面隐藏软键盘的探索(兼findViewById返回null解决办法)

    最近写的APP,老师说我的登陆界面虽然有ScrollView滑动,但用户体验不太好,因为软键盘会挡住输入框或登录button(小米Pad,横屏,当指定只能输入数字时没找到关闭系统自带键盘的下箭头). ...

  3. 报表引擎API开发入门—简单程序数据集

    小编最近接的项目是有关报表开发的,很想把这部分知识分享出来.希望大家能够支持我!不多说,马上进入我们今天的话题. API基本知识 小编最近项目所做的是关于一个报表软件—FineReport报表开发的一 ...

  4. What makes an excellent front-end developer?(for my English speech)

    What makes an excellent front-end developer? Let me please start this talking by saying that what is ...

  5. [No000064]python 变量命名规范

    python源码和其他一些书籍,命名各种个性,没有一个比较统一的命名规范.于是总结了一些,供参考. 模块名: 模块应该使用尽可能短的.全小写命名,可以在模块命名时使用下划线以增强可读性.同样包的命名也 ...

  6. python-数据类型补充及文件处理操作

    ___数据类型____ 一.列表的复制 浅复制和深复制 浅复制只复制一层,深复制完全克隆,慎用 1.实现浅复制的三种方式: name=['song','xiao','nan'] import copy ...

  7. ASP.NET点击按钮弹出确认对话框方法

    开发asp.net网页应用程序的时候,有些页面的按钮需要增加一个确认对话框,比如: 实现这个功能比较简单,代码这样写: Button.Attributes["onclick"] = ...

  8. web—第四章css&第五章

     web—第四章css&第五章 终于迎接等待已久的CSS,在没学这个之前,我们只会用一点img,查一点小图片,或者是用style改一下颜色,而且比较麻烦.现在多了个css在文件夹在创建一个cs ...

  9. java:如何让程序按要求自行重启?

    正文开始前的废话: 这里的程序即包括b/s的web application,也包括standalone的类c/s的java application.   为什么要自我重启?   场景1:分布式环境中, ...

  10. 如何让jboss eap 6.2+ 的多个war应用共享 jar 包?

    weblogic有一个很贴心的功能,允许把多个war应用共同依赖的jar包,打包一个单独的war,以libary方式部署,然后各应用在weblogic.xml里声明引用该libary即可,这样可大大减 ...