如何在Sharepoint 2007中的页面上获取所有WebpartZones?

时间:2009-02-12 14:10:23

标签: sharepoint sharepoint-2007 web-parts

有没有办法在MOSS 2007中的特定页面上获取所有WebPartZones?通过迭代所有Web部件,可以获得带有webparts的区域,但是不会包含空区域。使用SPLimitedWebPartManager获取页面上的所有WebPart。

这需要从“布局”页面完成。

1 个答案:

答案 0 :(得分:2)

你可以获得SPWebPartManager。然后使用Zones属性迭代Page中的区域。

有关使用区域的详细信息,请参阅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.
        }
    }
}