2009-12-09 92 views
2

我使用WSS3.0 API来获取ASPX页面中的所有Web部件。
下面是我的代码:为什么ParameterizableWebPart会作为ErrorWebPart返回?

   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

PerformancePoint Web部件是不同于常规Web部件的动物。有a great post on technet在谈论这个,有更多信息的链接。他们是从充满AJAX优雅的底层建筑中修建而成的。这可能是您碰到该Web部件时出现错误的原因。

0

This article指出,当不从Web请求调用时,SPLimitedWebPartManager将返回ErrorWebParts而不是某些WebParts。也许这是你的情况的问题?