SharePoint 站点集和子站点数据互相读取
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 站点集和子站点数据互相读取的更多相关文章
- 如何迁移SharePoint 2010至新的站点
SharePoint使用非常方便,但是有一个问题获取会困扰大家,就是SharePoint的备份和迁移.下面我们来看一下如何把SharePoint迁移至别的SharePoint站点. 1. 使用网站集管 ...
- Stsadm 导入导出子站点
SharePoint通过stsadm备份和还原子网站(不是网站集) 大家都知道SharePoint的stsadm命令提供了很多便捷甚至是唯一的操作方法! 这里列出的所有命令:http://www. ...
- 黄聪:WordPress 多站点建站教程(六):使用WP_Query、switch_to_blog函数实现获取子站点分类中的文章
首先在你使用主题的funtions.php里面添加下代码: //根据时间显示最新的分类文章内容,每个站点显示一篇内容 //$blog_id 子站点ID //$catid 分类ID wp_reset_q ...
- Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作
详细的Spring MVC框架搭配在这个连接中: Maven 工程下 Spring MVC 站点配置 (一) Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作 这篇主 ...
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 站点设置
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 站点设置 你应该熟悉(假设还咩有)的SharePo ...
- iis子站点
在iis已有的站点下可以继续添加”应用程序”,就构成子站点:需要访问子站点app下的程序,只想在controller/action前,加个app就行,即app/controller/action 这样 ...
- 黄聪:WordPress 多站点建站教程(四):获取子站点相关信息(站点的注册时间,修改时间,总文章数,URL等)
1.获取子站点blogs表里面的内容信息 $blog_details = get_blog_details(1); echo 'Blog '.$blog_details->blog_id.' i ...
- 《今天你买到票了吗?——从铁道部12306.cn站点漫谈电子商务站点的“海量事务快速处理”系统》
<今天你买到票了吗?--从铁道部12306.cn站点漫谈电子商务站点的"海量事务快速处理"系统> 首发地址: http://bbs.hpx-party.org/thre ...
- 【SharePoint学习笔记】第3章 SharePoint列表新特性以及数据访问
第3章 SharePoint列表新特性以及数据访问 使用CAML查询语言 CAML:协作应用程序标记语言 Collaboration Application Markup Language ...
随机推荐
- nc分析代理服务器
最近洒家搞了一个代理服务器(参见 折腾阿里云笔记 ).以前ƒq的时候代理服务器都是开在127.0.0.1,浏览器到代理服务器之间不会有中间人监听问题.现在代理服务器不在本机,洒家就突然想到了这些问题: ...
- C++ 中 typename
声明template参数时, 前缀关键字class和typename可以互换; 使用关键字typename标识嵌套从属类型名称, 但不需在基类列表和成员初始化列表内使用. 从属名称(dependent ...
- [转]pyhon之Tkinter实例化学习
本文转自:http://www.cnblogs.com/kaituorensheng/p/3287652.html 阅读目录 1. 产品介绍 2. 设计规划 3. 相关知识 4. 源码附件 Tkint ...
- [转]Linq中使用Left Join
本文转自:http://www.cnblogs.com/xinjian/archive/2010/11/17/1879959.html use Test Create table Student( I ...
- MMORPG大型游戏设计与开发(part6 of net)
上一部分,讲述了一个服务器与服务器之间的通信实例,客户端其实原理大同小异.网络部分准备就暂时讲到这里,不过我们不妨再回头过来想想在这过程中有没有优化和改进的地方.这部分讲解的是以网络包代码作分析,实现 ...
- Scikit-Learn模块学习笔记——数据预处理模块preprocessing
preprocessing 模块提供了数据预处理函数和预处理类,预处理类主要是为了方便添加到 pipeline 过程中. 数据标准化 标准化预处理函数: preprocessing.scale(X, ...
- 拓扑排序 POJ2367Genealogical tree[topo-sort]
---恢复内容开始--- Genealogical tree Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4875 A ...
- Vijos1046观光旅游[floyd 最小环]
背景 湖南师大附中成为百年名校之后,每年要接待大批的游客前来参观.学校认为大力发展旅游业,可以带来一笔可观的收入. 描述 学校里面有N个景点.两个景点之间可能直接有道路相连,用Dist[I,J]表示它 ...
- 用jsmooth + inno生成exe并制作简单安装包
思路: 先由 Jsmooth把jar和相关资源打包生成exe,再由Inno把exe和资源文件打成安装包 一 Jsmooth 1 下载 安装 Jsmooth 地址:jsmooth.sourcefo ...
- Emacs杂谈(一)Emacs环境 c++ 快捷键
最近头脑发热(抽),重装了电脑,改成linux的ubuntu系统,熟悉一下环境,顺便转载相关emacs知识. //插播一则通知:似乎linux上vector不能用,会内存炸错,若有人可以解答,请用评论 ...