ASP.NET SharePoint Web部件:在根站点日历中显示子网站日历事件
我有用于测试目的的名为BigBroSite的网站集。在根网站下,我有三个子网站叫做支持,开发和营销。在每个子网站上,我都有一个包含事件的日历应用程序。我想要做的是在所有子网站日历中查找所有事件,并在根目录中显示它们。ASP.NET SharePoint Web部件:在根站点日历中显示子网站日历事件
我有SharePoint 2013,VS 2017,使用SharePoint 2013解决方案并将可视Web部件添加到项目中。
我到目前为止的代码是:
protected void calender()
{
SPSite site = SPContext.Current.Site;
foreach (SPWeb web in site.AllWebs)
{
foreach (SPList cal in web.Lists)
{
if (cal.BaseTemplate == SPListTemplateType.Events)
{
foreach (SPListItemCollection activity in cal.Items)
{
}
}
}
}
}
我已经在网上搜索,发现使用的数据库教程很多。我没有得到如何将其转化为我的问题。我应该有一个
SPListItemCollection
事件数据传送到企业的性质压延机中。我也不知道从calander调用哪些方法可以接收SPListItemCollection。我目前收集的是我应该使用
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
}
来显示我从子网站收集的事件。如果你认为我走错了路,请随时指出我正确的方向。
欢迎您提出任何建议。
梅拉德的答案是要走的路,除非你有特定的其他用例。在这种情况下,您仍然不想将其构建为自定义,您希望使用带有自定义显示模板的内容搜索Web部件。如果您只是想学习如何使用C#回应SharePoint列表进行交互,我们可以看看回答这个问题(尽管您在性能上处于错误的轨道,请使用SPSiteDataQuery或SPQuery并且永远不要去SPList.Items,使用SPList.GetItems(SPQuery))。
好的谢谢。我将查看SPSiteDataQuery。 – AllramEst
Thanx。对于这个建议。我一定会尝试一下。但我也想学习如何通过代码来做到这一点。 – AllramEst
这不幸的是不是上述问题的答案。我想用自己的代码达到同样的目标。 – AllramEst