有没有办法在MOSS 2007中的特定页面上获取所有WebPartZones?通过迭代所有Web部件,可以获得带有webparts的区域,但是不会包含空区域。使用SPLimitedWebPartManager获取页面上的所有WebPart。
这需要从“布局”页面完成。
答案 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.
}
}
}