我在 SharePoint 上托管了一个自定义 ASPX 页面,该页面具有以下 Web 部件连接,从 PerformancePoint 筛选器到 SSRS ReportViewWebPart:
<WebPartPages:SPProxyWebPartManager id="pwpm_0d7e10d6dc8f4b00a8a0aeb2a354c814" runat="server">
<SPWebPartConnections>
<WebPartPages:SPWebPartConnection ConsumerConnectionPointID="BIDataProvider"
ConsumerID="pps_CapexReport"
ID="conn_5b654f26f68f41c1ac67be5a440d1b4d"
ProviderConnectionPointID="TransformableBIDataProvider"
ProviderID="pps_FunctionHierarchyFilter">
<pps:TransformableBIDataProviderTransformer ConfigurationState="Microsoft.PerformancePoint.Scorecards.TransformerConfigurationRecord"
ID="a0bb0034-db8a-41ce-8d2c-6db2194e639b">
</pps:TransformableBIDataProviderTransformer></WebPartPages:SPWebPartConnection>
</SPWebPartConnections>
</WebPartPages:SPProxyWebPartManager>
可以使用 sharepoint Web 界面添加连接或通过手动键入标记来生成此代码 - 无论哪种方式,使用 SharePoint Designer 2010 打开然后重新保存页面都会删除页面上的所有 Web 部件连接,只留下:
<WebPartPages:SPProxyWebPartManager id="pwpm_0d7e10d6dc8f4b00a8a0aeb2a354c814" runat="server">
<SPWebPartConnections></SPWebPartConnections>
</WebPartPages:SPProxyWebPartManager>
使用常规 SharePoint Designer 编辑页面 GUI(非高级模式)允许我添加连接并保存页面,但随后引发运行时错误:“函数层次结构和 Capex 报表之间的连接转换器不是客户端可连接转换器。”
深入挖掘,我发现包括
<pps:TransformableBIDataProviderTransformer
ConfigurationState="Microsoft.PerformancePoint.Scorecards.TransformerConfigurationRecord"
ID="a0bb0034-db8a-41ce-8d2c-6db2194e639b">
</pps:TransformableBIDataProviderTransformer>
是导致 SharePoint Designer 完全删除连接的原因。但是如果你删除它,运行时会抛出“不可连接客户端的转换器”异常。
正如您可以想象的那样,这非常烦人,因为这意味着每当我使用 SharePoint Designer 编辑 aspx 页面时,我都必须重新添加页面上的所有连接(使用笨拙的 Web 界面)。
是否有解决方法或我在这里缺少的东西?如何在标记中添加 Web 部件连接,并且在编辑页面时不删除它们?