我正在使用WSS3.0 API来获取ASPX页面中的所有webpart 以下是我的代码:
SPFile page = web.GetFile(pageGuid);
SPLimitedWebPartManager wpm = page.GetLimitedWebPartManager(PersonalizationScope.Shared);
WebPartFactory factory = new WebPartFactory();
foreach (System.Web.UI.WebControls.WebParts.WebPart webpart in wpm.WebParts)
{
//Some other logic
}
此代码适用于大多数Web部件。但是对于ParameterizableWebPart,它总是返回一个ErrorWebPart。
页面配置正确,因为我可以在资源管理器中查看所有报告。
你遇到过这个问题吗?或者我的代码有问题?
任何评论都表示赞赏。 感谢。
答案 0 :(得分:0)
PerformancePoint Web部件与常规Web部件不同。有a great post on technet讨论这个问题,并提供了更多信息的链接。它们是从充满AJAXy善良的基础构建的。这可能是您在点击该Web部件时遇到错误的原因。
答案 1 :(得分:0)
This article表示,当未从Web请求调用时,SPLimitedWebPartManager
将返回ErrorWebParts而不是某些WebParts。也许这就是你的问题?