Reporting services angularjs包含到报表服务器url

Reporting services angularjs包含到报表服务器url,reporting-services,sharepoint-2013,angularjs-ng-include,Reporting Services,Sharepoint 2013,Angularjs Ng Include,我是开发使用AngularJS和SSRS报告的定制SharePoint应用程序团队的一员。基本上,应用程序允许用户选择报告,选择一组参数,然后在站点/应用程序中查看报告 在我们打开报告工具栏之前,一切都很顺利。此时,报告停止呈现。只有工具栏可见 以下是我们正在做的: 显示报告的应用程序部分的html: <section class="left-panel report-view-panel ssrsReport show"> <h1>{{CurrentReport

我是开发使用AngularJS和SSRS报告的定制SharePoint应用程序团队的一员。基本上,应用程序允许用户选择报告,选择一组参数,然后在站点/应用程序中查看报告

在我们打开报告工具栏之前,一切都很顺利。此时,报告停止呈现。只有工具栏可见

以下是我们正在做的:

显示报告的应用程序部分的html:

<section class="left-panel report-view-panel ssrsReport show">
    <h1>{{CurrentReport.Title}}</h1>
    <button class="btn-report-close" ng-click="closeReport()"  type="button">Close</button>
    <div class="scroll-list">
        <figure class="report">
            <div class="sample-report">
                <div ng-include='CurrentReportURL'></div>
            </div>
        </figure>
    </div>
</section>

{{CurrentReport.Title}
接近
在控制器javascript中,我们将报表服务器url(CurrentReportURL)构建为类似以下内容:

我们告诉它呈现报告,隐藏工具栏和参数选择。这个很好用。报告按预期呈现

但是,将url更改为:

仅使工具栏渲染。没有报告。如果复制相同的url并在浏览器窗口中打开它,则报告将按预期呈现

我用Chrome和Chrome的开发者工具网络标签深入研究了这两种情况。在ng include中的url和浏览器窗口中的url之间进行的调用存在一些差异。然而,最引人注目的是发布到RSViewerPage.aspx的帖子,其中所有报表查看器和报表参数都转换为相应的报表查看器参数。(我会发布实际的链接,但这告诉我,我需要10的声誉才能做到这一点)

我在Chrome和IE10中得到了相同的结果

我正在寻找一些关于ng include版本为什么没有发布帖子的指导?我相信这篇文章与SSRS会话有关,它只在工具栏打开时被跟踪,但我真的不确定

任何指导都将不胜感激

试试看

<div ng-include src="CurrentReportURL"></div>

这在任何浏览器中都有效吗

如果它在chrome中工作,但在IE中不工作,请确保遵循“角度IE限制”部分

例:



另外,对于动态url,请查看:

我即将开始将SSR集成到angularjs应用程序中,我正在考虑使用iframe并将iframe的src属性更改为所选报告的url

我甚至没有考虑尝试使用NG包含,认为SSR返回的HTML将被设计为与ASP.NET PrScBe/VIEW状态模型一起工作。通过使用iframe,此回发/视图状态模型将被隔离在页面上的“孤岛”中,并且不会影响父容器


Christian

我尝试了上述建议,但没有什么不同。不,这在任何浏览器中都不起作用。最终我们使用了iframe。
  <!--[if lte IE 8]>
      <script>
        document.createElement('ng-include');
      </script>
  <![endif]-->