繁体   English   中英

ASP.NET SharePoint Web部件:在根站点日历中显示子站点日历事件

[英]ASP.NET SharePoint web part: Showing subsites calender events in root site calender

为了测试目的,我有一个名为BigBroSite的网站集。 在根站点下,我有三个子站点,分别称为支持,开发和营销。 在每个子站点上,我都有一个日历应用程序,其中包含事件。 我要做的是在所有子站点日历中查找所有事件,并在根日历中显示它们。

我拥有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的calander调用的方法。 到目前为止,我所收集的是我应该使用

 protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
    {

    }

展示我从子站点收集的事件。 如果您认为我走错了路,请随时指出正确的方向。

欢迎所有建议。

您不需要任何代码即可完成此操作! 实际上,您需要配置日历

1-您需要创建一个“新日历”

在此处输入图片说明

2-在“日历覆盖设置”中,您将放置子站点URL

在此处输入图片说明

当您将活动添加到子网站“日历”中时,它将显示在“根日历”上

在此处输入图片说明

除非您有特定的其他用例,否则Melad的答案是必经之路。 在这种情况下,您仍然不想自定义构建,而是要使用带有自定义显示模板的Content Search Web部件。 如果您只是想学习如何使用C#进行回复,那么我们可以回答一下这个问题(尽管您的性能不正确,但请使用SPSiteDataQuery或SPQuery,不要去SPList.Items,使用SPList.GetItems(SPQuery))。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM