Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何在报表查看器中将参数添加到SSRS URL?_Asp.net_C# 4.0_Reporting Services_Iis 7 - Fatal编程技术网

Asp.net 如何在报表查看器中将参数添加到SSRS URL?

Asp.net 如何在报表查看器中将参数添加到SSRS URL?,asp.net,c#-4.0,reporting-services,iis-7,Asp.net,C# 4.0,Reporting Services,Iis 7,关于本条: 我可以从Web应用程序访问SSRS报告,但问题是它不接受URL中的参数 以下是它接受的格式 报表服务器URL: 报告路径: /公司工程/销售报告/ABC 有人能帮我吗? 我想通过报表查看器传递SSRS url中的参数 您不能通过URL传递参数,因为该控件期望URL上的参数传递给实际的reportserver,仅此而已 例如: serverReport.ReportServerUrl=新Uri(“”); serverReport.ReportPath=“/AdventureWorks

关于本条:

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

以下是它接受的格式

报表服务器URL: 报告路径: /公司工程/销售报告/ABC

有人能帮我吗?
我想通过报表查看器传递SSRS url中的参数

您不能通过URL传递参数,因为该控件期望URL上的参数传递给实际的reportserver,仅此而已

例如: serverReport.ReportServerUrl=新Uri(“”); serverReport.ReportPath=“/AdventureWorks示例报告/My报告”

不过,您可以使用ReportViewer.ServerReport.SetParameters()函数在代码中传递这些参数。以下是我用于此目的的代码片段:

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);
var参数集合=新列表();
//添加每个报表都需要的通用参数
parametersCollection.Add(新报告参数(“RandomizerString”,new Random().Next().ToString(),false));
parametersCollection.Add(新的ReportParameter(“MachineName”,Request.UserHostAddress.ToString(),false));
ERDashboard.ServerReport.SetParameters(parametersCollection);

您不能通过URL传递参数,因为控件希望URL上的参数传递给实际的reportserver,仅此而已

例如: serverReport.ReportServerUrl=新Uri(“”); serverReport.ReportPath=“/AdventureWorks示例报告/My报告”

不过,您可以使用ReportViewer.ServerReport.SetParameters()函数在代码中传递这些参数。以下是我用于此目的的代码片段:

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);
var参数集合=新列表();
//添加每个报表都需要的通用参数
parametersCollection.Add(新报告参数(“RandomizerString”,new Random().Next().ToString(),false));
parametersCollection.Add(新的ReportParameter(“MachineName”,Request.UserHostAddress.ToString(),false));
ERDashboard.ServerReport.SetParameters(parametersCollection);

似乎无法对Sam的答案添加评论,因此我将发布另一条:

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


请注意,选择webbrowser控件和reportviewer控件有多种原因。reportviewer控件在代码隐藏中更易于管理,但在长时间刷新报表时会出现内存问题(通过google获取的大量内存泄漏信息)。在这种情况下,我使用webbrowser和手动格式化的URL来传递参数。

似乎无法为Sam的答案添加注释,因此我将发布另一个:

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


请注意,选择webbrowser控件和reportviewer控件有多种原因。reportviewer控件在代码隐藏中更易于管理,但在长时间刷新报表时会出现内存问题(通过google获取的大量内存泄漏信息)。在这种情况下,我使用webbrowser和手动格式化的URL来传递参数。

Hi,我想在页面加载中使用它吗?我想补充的大会是什么?谢谢。请使用Microsoft.Reporting.WebForms;然后是的,您可以在pageload事件中使用代码。请注意,您必须更改最后一行以反映您自己的ReportViewerControl名称,而不是上面列出的eDashboard。我在哪里提供带参数的完整URL?很抱歉,我对report viewer非常陌生。我不明白我应该在哪里给出url参数。嗨,我应该在页面加载中使用这个吗?我想补充的大会是什么?谢谢。请使用Microsoft.Reporting.WebForms;然后是的,您可以在pageload事件中使用代码。请注意,您必须更改最后一行以反映您自己的ReportViewerControl名称,而不是上面列出的eDashboard。我在哪里提供带参数的完整URL?很抱歉,我对report viewer非常陌生。我不明白我应该在哪里给出url参数。你有什么建议?查看报表查看器或web浏览器?我发现使用报表查看器控件,然后在.pageload()后面的代码中设置所有内容是最简单的。参考使用webbrowser,您会发现设置URL路径要繁琐得多。您有什么建议?查看报表查看器或web浏览器?我发现使用报表查看器控件,然后在.pageload()后面的代码中设置所有内容是最简单的。参考使用webbrowser,您会发现设置URL路径要繁琐得多。