【问题标题】:How to add parameters to SSRS URL in report viewer?如何在报表查看器中向 SSRS URL 添加参数?
【发布时间】:2013-11-20 18:54:21
【问题描述】:

参考这篇文章: http://msdn.microsoft.com/en-us/library/ms252072(VS.80).aspx

我可以从我的 Web 应用程序访问我的 SSRS 报告,但问题是它不接受 URL 中的参数。

这是它接受的格式

报告服务器网址: http://ABCD.com/reportserver 报告路径: /公司工作/销售报告/ABC

谁能帮帮我? 我想通过报表查看器在 SSRS url 中传递参数。

【问题讨论】:

    标签: asp.net c#-4.0 reporting-services iis-7


    【解决方案1】:

    您不能通过 URL 传递参数,因为控件只需要 URL 到实际的报表服务器,仅此而已。

    示例: serverReport.ReportServerUrl = new Uri("http://ABCS.com/reportserver"); serverReport.ReportPath = "/AdventureWorks 示例报告/我的报告";

    您可以使用 ReportViewer.ServerReport.SetParameters() 函数在后面的代码中传递这些参数。这是我用于此目的的代码 sn-p:

    var parametersCollection = new List<ReportParameter>();
    //add generic parameters that every report needs
    parametersCollection.Add(new ReportParameter("RandomizerString", new Random().Next().ToString(), false));
    parametersCollection.Add(new ReportParameter("MachineName", Request.UserHostAddress.ToString(), false));
    ERDashboard.ServerReport.SetParameters(parametersCollection);
    

    【讨论】:

    • 嗨,我想在页面加载中使用它吗?我想添加的程序集是什么?谢谢。
    • 使用 Microsoft.Reporting.WebForms;然后是的,您可以在页面加载事件中使用代码。请注意,您必须更改最后一行以反映您自己的 ReportViewerControl 名称,而不是上面列出的 ERDashboard。
    • 在哪里可以提供带有参数的完整 URL?很抱歉,我对报告查看器很陌生。我不明白我应该在哪里提供 url 参数。
    【解决方案2】:

    似乎无法对 Sam 的回答添加评论,所以我会发布另一个:

    ReportViewerControl ReportServerURL 属性与格式化通用 URL 以访问报告有很大不同。您可以使用 sam 提供的逻辑将 Web 浏览器控件导航到该 URL,该 URL 也会在您的 Web 应用程序中呈现报告。如果您愿意,可以尝试另一种方法。

    请注意,您可能出于多种原因选择 webbrowser 控件而不是 reportviewer 控件。 reportviewer 控件在代码隐藏中更容易管理,但是在长时间刷新报告时会出现内存问题(通过谷歌提供的大量关于内存泄漏的信息)。这是我改用网络浏览器和手动格式化 URL 来传递参数的场景。

    【讨论】:

    • 你有什么建议?通过报表查看器或网络浏览器?
    • 我发现最简单的方法是使用reportviewer 控件,然后在后面的代码中设置所有内容。pageload()。参考technet.microsoft.com/en-us/library/aa337091.aspx
    • 使用浏览器会发现设置URL路径要繁琐得多。
    猜你喜欢
    • 2018-05-22
    • 2011-07-03
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多