2016-05-16 14 views
0

SSRSレポートのReportViewerを含むWebフォームページがあります。 SSRSのRDLファイルに組み込まれている3つのパラメータに加えて、Webフォーム(User.Identity.Nameとレポートの説明)から2つの値を渡す必要があります。 RDLファイルで使用されるストアドプロシージャに5つの値をすべて送信するにはどうすればよいですか?Asp.netからSSRSストアドプロシージャにパラメータ値を渡すにはどうすればよいですか?

私は、ユーザーがドロップダウンからの3つのパラメータを選択しますRDLファイルを使用してレポートビューアを持っているユーザー名を収集し、

(var username = User.Identity.Name;) 
(var report = "Customer Service - Get Ship Date";) 

を使用してPage_Loadの中に後ろのC#コードで名前を報告していますリスト。

<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt" ProcessingMode="Remote" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt" Height="100%" Width="100%" SizeToReportContent="True" PageCountMode="Actual" AsyncRendering="False"> 
     <ServerReport ReportPath="/Express/Customer Service/CSGetShipDate" ReportServerUrl="http://MMSMV-SQL1:81/ReportServer_SQL2008" /> 
    </rsweb:ReportViewer> 

RDLファイルを実行するためにレポートサーバーに送信するパラメータを組み合わせる方法がわかりません。

ご協力いただければ幸いです。

答えて

1

SSRSストアドプロシージャにパラメータを渡すには、以下のようにしてください。

List<ReportParameter> reportParams = new List<ReportParameter>(); 
reportParams.Add(new ReportParameter("SPVariable1", User.Identity.Name)); 
reportParams.Add(new ReportParameter("SPVariable2", Report.Description)); 
ReportViewer1.ServerReport.SetParameters(reportParams); 

適切な変数名を使用していることを確認してください。大文字と小文字が区別されるためです。

+0

これらを追加しようとしましたが、レポートの実行時に値を渡していません。レポートにユーザー名の値がないというメッセージが表示されます。 – eric90125

+0

さて、あなたが試したことを分かち合ってください。だから私は良いアイデアを得ることができます。そして、はい、私たちがSSRSレポートにパラメータを渡すとき、パラメータは隠されるべきです。 – pedram

+0

問題が何かを発見しました。あなたのコードは完璧でしたが、私は小さな部分を省きました。私の間違い。どうもありがとうございます! – eric90125

関連する問題