Как получить все WebpartZones на странице в Sharepoint 2007? - PullRequest
1 голос
/ 12 февраля 2009

Есть ли способ получить все WebPartZones на данной странице в MOSS 2007? Перебирая все веб-части, можно получить зоны с веб-частями, но тогда пустые зоны не будут включены Использование SPLimitedWebPartManager для получения всех веб-частей на странице.

Это нужно сделать со страницы макетов.

1 Ответ

2 голосов
/ 13 февраля 2009

Ну, вы можете получить SPWebPartManager. Затем используйте свойство Zones для итерации по зонам на странице.

См. http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webparts.webpartmanager.zones.aspx для получения дополнительной информации об использовании зон.

Я думаю, это может сработать, но вам, вероятно, стоит попробовать.

C #

if(!string.IsNullOrEmpty(this.SPWebPartManager))
{
    WebPartPage l_oPage = (WebPartPage) this.Page;
    SPWebPartManager l_oManager = (SPWebPartManager) l_oPage.Master.FindControl(this.SPWebPartManager);

    if (l_oManager.DisplayMode.Name.Equals(WebPartManager.BrowseDisplayMode.Name))
    {
        foreach (WebZone zone in l_oManager.Zones)
        {
            // Do something with the zone.
        }
    }
}
...