1

有没有办法在 MOSS 2007 中的给定页面上获取所有 WebPartZone?通过遍历所有 Webparts,可以获得带有 webparts 的区域,但空区域将不包括在内。使用 SPLimitedWebPartManager 获取页面上的所有 WebPart。

这需要从布局页面完成。

4

1 回答 1

2

那么你可以得到SPWebPartManager。然后使用 Zones 属性迭代页面中的 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.
        }
    }
}
于 2009-02-13T05:25:45.693 回答