首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReportServer url中的angularjs nginclude

ReportServer url中的angularjs nginclude
EN

Stack Overflow用户
提问于 2013-08-13 15:52:32
回答 2查看 4.5K关注 0票数 3

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

在我们打开ToolBar报告之前,一切都很顺利。在这一点上,报告停止呈现。只有工具栏是可见的。

我们正在做的事情如下:

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

代码语言:javascript
复制
<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>

在控制器javascript中,我们将报表服务器url (CurrentReportURL)构建成如下所示:

bin/ReportServer?http://ourreportserver.com/Our%20Reports/Report1.rdl&rs:Command=Render&rc:Toolbar=false&rc:Parameters=false&Param1=41001&Param2=08&Param3=0

我们告诉它呈现报表、隐藏工具栏和隐藏参数选择。这个很好用。报告如预期的那样呈现。

但是,将url更改为:

bin/ReportServer?http://ourreportserver.com/Our%20Reports/Report1.rdl&rs:Command=Render&rc:Toolbar=true&rc:Parameters=false&Param1=41001&Param2=08&Param3=0

导致只呈现工具栏。没有报告。如果我复制相同的url并在浏览器窗口中打开它,报表将按预期呈现。

我更深入地研究了使用Chrome和Chrome的Developer Tools Network选项卡的两个场景。ng-include中的url和浏览器窗口中的url之间的调用有几个不同。但是,最突出的是将所有报表查看器和报表参数转换为适当的RSViewerPage.aspx参数到ReportViewer。(我会发布实际链接,但我也是这样告诉我,我需要一个10的声誉来做到这一点)。

我在Chrome和IE10上得到了同样的结果。

我正在寻找一些指导,为什么ng-包括版本没有做这篇文章?我相信这篇文章与SSRS会话有关,而SSRS会话只在工具栏上进行跟踪,但我真的不确定。

任何指导都将不胜感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-04 22:41:11

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

我甚至没有考虑使用ng-include,因为我认为ssrs返回的html将用于处理asp.net回发/查看状态模型。通过使用iframe,这个回发/查看状态模型将在页面上的“孤岛”中被隔离,不会影响父容器。

克里斯蒂安

票数 3
EN

Stack Overflow用户

发布于 2013-08-16 12:31:17

试一试

代码语言:javascript
复制
<div ng-include src="CurrentReportURL"></div>

这在任何浏览器中都能用吗?

如果它在铬而不是IE中工作,请确保您遵循的是角度IE限制部分。

例:

代码语言:javascript
复制
  <!--[if lte IE 8]>
      <script>
        document.createElement('ng-include');
      </script>
  <![endif]-->

另外,对于动态urls,请查看:此链接

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18213714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档