C# 向ASP.Net ReportViewer添加额外的用户ID参数

C# 向ASP.Net ReportViewer添加额外的用户ID参数,c#,asp.net,parameters,reportviewer,ssrs-2008,C#,Asp.net,Parameters,Reportviewer,Ssrs 2008,在远程模式下使用VS2010中的Asp.net报表查看器,我们需要允许用户在运行报表之前使用报表查看器上的默认控件输入参数 由于需要对数据设置权限,我们在所有报告上都有一个UserId隐藏参数,计划是允许用户正常输入参数,然后在运行报告之前[以编程方式]添加UserId参数 然后,报告中的数据将返回用户有权查看的数据 [我们使用SSRS web服务将可用报告列表填充到树视图中,供用户选择。] 我想我不知道什么是最好的方法。我需要将userId参数值传递给ReportViewer,而不是服务器报表

在远程模式下使用VS2010中的Asp.net报表查看器,我们需要允许用户在运行报表之前使用报表查看器上的默认控件输入参数

由于需要对数据设置权限,我们在所有报告上都有一个UserId隐藏参数,计划是允许用户正常输入参数,然后在运行报告之前[以编程方式]添加UserId参数

然后,报告中的数据将返回用户有权查看的数据

[我们使用SSRS web服务将可用报告列表填充到树视图中,供用户选择。]

我想我不知道什么是最好的方法。我需要将userId参数值传递给ReportViewer,而不是服务器报表

我知道您可以使用web服务来管理完全不受控制的参数,但目前我们还不能选择

总而言之:

用户在报表查看器中选择参数。 代码隐藏在运行报表时或最初加载报表时添加UserId参数值,并且查看器将所有参数传递给服务器

如果你能给我任何帮助,我将不胜感激


利亚姆找到了答案,答案很简单,也许没有证明这个问题是正确的,但这里是为了防止有人像我昨天一样以低波特率运行

将以下事件添加到报表查看器中

onsubmittingparametervalues="Viewer_SubmittingParameters"
在处理程序中

    protected void Viewer_SubmittingParameters(object sender, ReportParametersEventArgs e)
    {
        Microsoft.Reporting.WebForms.ReportParameter userIdParameter =
            new Microsoft.Reporting.WebForms.ReportParameter();

        userIdParameter.Name = "UserId";
        userIdParameter.Values.Add(this.Username etc);

        // Add to existing parameters
        e.Parameters.Add(userIdParameter);
    }

利亚姆

噢,天哪,我的波特率很低。非常感谢您抽出时间记录您的答案!