有没有办法在 MOSS 2007 中的给定页面上获取所有 WebPartZone?通过遍历所有 Webparts,可以获得带有 webparts 的区域,但空区域将不包括在内。使用 SPLimitedWebPartManager 获取页面上的所有 WebPart。
这需要从布局页面完成。
有没有办法在 MOSS 2007 中的给定页面上获取所有 WebPartZone?通过遍历所有 Webparts,可以获得带有 webparts 的区域,但空区域将不包括在内。使用 SPLimitedWebPartManager 获取页面上的所有 WebPart。
这需要从布局页面完成。
那么你可以得到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.
}
}
}