Как получить все WebpartZones на странице в Sharepoint 2007?

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

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


person noocyte    schedule 12.02.2009    source источник


Ответы (1)


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

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

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

С#

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.
        }
    }
}
person AboutDev    schedule 13.02.2009