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. 修改/etc/profile文件

    通常情况下,/etc/profile文件是只读的,直接用vi或gedit打开修改后是无法保存的.要修改profile,需要取得root权限,(使用gedit编辑)应该如下: $sudo gedit / ...

  2. RedHat 6.2 Linux修改yum源免费使用CentOS源

    在没有光盘的情况,需要安装软件包,就要用到共网的yum源来安装了. RedHat linux 默认是安装了yum软件的,但是由于激活认证的原因让redhat无法直接进行yum安装一些软件,如果我们需要 ...

  3. Addthis使用

    一.使用 https://www.addthis.com/.国外的SNS分享站点较多,适用于英文站点内容的分享.有教程. 我的测试代码如下: <html> <meta charset ...

  4. 2014 UESTC暑前集训图论专题解题报告

    A.方老师和缘分 http://www.cnblogs.com/whatbeg/p/3765621.html B.方老师和农场 http://www.cnblogs.com/whatbeg/p/376 ...

  5. [No000014]听说不背单词,考英语会是这种下场-我们为什么必须背单词?

    由于英语对于一个程序员来说,重要性你懂得.因此我会开始逐渐在博客上加入英语的一些东西. 听说不背单词,考英语会是这种下场 在中国, 「学英语」大抵遵循着这样一条 罗蒙诺索夫质量守恒定律 因为英语学着学 ...

  6. 转:导出/导入Eclipse的workspace配置(备份Eclipse配置)

    from: http://www.cnblogs.com/52php/p/5677647.html 设置好workspace配置后可以将配置保存为 *.epf 文件. 进入 File -> Ex ...

  7. 如何在CTF中当搅屎棍

    论如何在CTF比赛中搅屎 0×00 前言 不能搅屎的CTF不是好CTF,不能搅屎的题目不是好题目. 我很赞成phithon神的一句话,"比赛就是和他人竞争的过程,通过各种手段阻止对手拿分我觉 ...

  8. Maven私服Nexus3.x环境构建操作记录

    Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...

  9. IT教程网

    这个IT教程网(印度),我认为是最好的.里面的知识基础实用,覆盖面很广,作为IT入门和了解都是极好的. http://www.tutorialspoint.com/

  10. 微软职位内部推荐-SDEII_ ECO

    微软近期Open的职位: SDE II SDE II Organization Summary: Engineering, Customer interactions & Online (EC ...