2017-03-17 34 views
0

我有用於測試目的的名爲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) 
    { 

    } 

來顯示我從子網站收集的事件。如果你認爲我走錯了路,請隨時指出我正確的方向。

歡迎您提出任何建議。

回答

0

你不需要任何代碼來完成這件事!其實你需要配置你的壓延

1你需要創建日曆疊加設置「新曆」

enter image description here

2 - 你把你的子網站URL

enter image description here

當您將事件添加到您的子網站日曆中時,它會顯示在根日曆上

enter image description here

+0

Thanx。對於這個建議。我一定會嘗試一下。但我也想學習如何通過代碼來做到這一點。 – AllramEst

+0

這不幸的是不是上述問題的答案。我想用自己的代碼達到同樣的目標。 – AllramEst

0

梅拉德的答案是要走的路,除非你有特定的其他用例。在這種情況下,您仍然不想將其構建爲自定義,您希望使用帶有自定義顯示模板的內容搜索Web部件。如果您只是想學習如何使用C#迴應SharePoint列表進行交互,我們可以看看回答這個問題(儘管您在性能上處於錯誤的軌道,請使用SPSiteDataQuery或SPQuery並且永遠不要去SPList.Items,使用SPList.GetItems(SPQuery))。

+0

好的謝謝。我將查看SPSiteDataQuery。 – AllramEst