Sharepoint 以编程方式枚举发布页面布局的Web部件区域

Sharepoint 以编程方式枚举发布页面布局的Web部件区域,sharepoint,sharepoint-2007,publishing,sharepoint-object-model,Sharepoint,Sharepoint 2007,Publishing,Sharepoint Object Model,有一种情况是,我所拥有的一个类被传递给了PublishingPage实例,我想列举在该页面的布局页面中使用的任何和所有web部件区域 事实证明这很难 PublishingPage有一个名为Layout的属性,其类型为PageLayout。这与PublishingLayoutPage不同,后者最终继承到具有Zones属性的页面。此PageLayout类型没有对具有我所需的Zones属性的普通ASP.NET页面类型的任何引用 我可以从PublishingPage.Layout属性获取一个SPList

有一种情况是,我所拥有的一个类被传递给了PublishingPage实例,我想列举在该页面的布局页面中使用的任何和所有web部件区域

事实证明这很难

PublishingPage有一个名为Layout的属性,其类型为PageLayout。这与PublishingLayoutPage不同,后者最终继承到具有Zones属性的页面。此PageLayout类型没有对具有我所需的Zones属性的普通ASP.NET页面类型的任何引用


我可以从PublishingPage.Layout属性获取一个SPListItem和一个SPFile,并以原始文本形式获取页面布局的内容,但这不能用XmlReader解析,因为它不是有效的XML(Wayne Fan on的帖子似乎涵盖了您正在尝试做的事情。希望这有帮助。

没有OOB解决方案……如果我有一个页面(asp.net样式)实例,我可以破解/派生一个SPWebPartManager,但这是在发布中,我根本无法访问asp.net派生对象。