SharePoint 站点集和子站点数据互相读取
数据 读取 站点 Sharepoint 互相
2023-09-14 09:08:41 时间
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 == 0) 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(10); 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 == 0) 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; }
相关文章
- DLS11 网关中继器(LTE-LoRA) 数据发送机制
- python数据大屏pyecharts库2020.8.31
- python读取图像数据的一些方法[通俗易懂]
- java inputstream读取文件_java如何获取输入的数据
- 学徒抽丝剥茧想搞清楚这个转录组数据问题出在哪里
- 自然语言处理NLP:主题LDA、情感分析疫情下的新闻文本数据|附代码数据
- MapReduce输入格式详解大数据
- 从sklearn.preprocessing, sklearn.feature_selection学习特征工程之预处理详解大数据
- Oracle 中实现数据分组与排序的技巧(分组排序oracle)
- 夹带MySQL:用来写入数据的必备技能(mysql写数据)
- 破解MySQL数据入库Redis的技巧(mysql写入redis)
- 数据使用Shell指令读取MySQL数据库(shell读取mysql)
- SQL Server拉取大量数据:不再是难事!(sqlserver拉数据)
- VC与MySQL的数据读取技巧(vcmysql读取)
- Oracle数据迁移至MySQL:技术与实践(oracle迁移到mysql)
- mssql中查找并删除数据的简单操作(mssql查找并删除语句)
- MySQL中如何使用12筛选数据(mysql中 1 2 =)
- 表ogg无缝数据转移从oracle表读出的深度体验(ogg读取oracle)
- 数据使用Bash快速读取MySQL数据(bash 读取mysql)
- 库ASP实现MySQL数据库的轻松访问(asp读取mysql数据)
- MySQL中PSC格式数据的导入(.psc导入到mysql)
- MySQL高效读取上亿数据(mysql上亿数据读取)
- 数据使用Redis加速数据的读取与保存(redis读取并保存)
- 今晚8点丨达观数据联合创始人纪传俊:三家大行智能化经验加持,我对银行RPA的思考与理解
- 用ajaxxml的数据读取的HelloWorld程序
- java中读取配置文件中数据的具体方法