2017-02-03 11 views
0

カウントデータとコストデータの形式でデータを要約するSSRSレポートを作成しました。このデータを表示するテキストボックスには、サマリレポートから渡されたパラメータを使用してより詳細なレポートを開くアクション設定があります。これらのレポートは、SSRSサーバーで表示したときに必要に応じて機能します。なぜこのエラーが発生しますか?{"操作はオブジェクトの現在の状態により有効ではありません"} C#

これらのレポートのデータ入力を管理するためにC#を使用するWebアプリケーションがあります。これらのレポートをaspx ReportViewerを使用してアプリケーション内に表示しています。問題は、C#Webアプリケーションからサマリーレポートを開いて、そのリンクをクリックして詳細なレポートを開くと、詳細レポートを開くように見えますが、そこにのみ表示され、報告する。

LocalHostでVisual Studiosからアプリケーションを実行すると、サマリーレポートを開こうとするとこのエラーメッセージが表示されます。 {「問題があるため、操作はオブジェクトの現在の状態に有効ではありません。」}ここで

は、私が使用していますC#のコードです:

protected void Page_Load(object sender, EventArgs e) 
{ 
    //Get the report server url from web.config 
    String reportServerUrl = ConfigurationManager.AppSettings.Get("ReportServerUrl"); 
    ReportViewer1.ServerReport.ReportServerUrl = new System.Uri(reportServerUrl); 

    String report = Request.QueryString["r"]; 
    if (report == "TransportTotals") 
    { 
     ReportViewer1.ServerReport.ReportPath = "/ExTraReports/TransportTotals"; 
     this.Title = "Transport Totals Report"; 
    } 

誰がと間違って何が起こっているかの説明を提供することができます報告する?

+0

エラーの原因は次のうちどれですか? –

+0

ここにいくつかあります:System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp、Object o、Object t、EventArgs e) at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender、EventArgs e) at System .Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint、Boolean includeStagesAfterAsyncPoint) – Perry

+0

質問を編集してください –

答えて

0

私はこの問題を解決できました。修正されたコードは以下の通りです:

String report = Request.QueryString["r"]; 
    if (report == "TransportTotals" && ReportViewer1.ServerReport.ReportPath != "/ExTraReports/NEWClosedTransportsByStateAndAgencyTypeAndNameDetail") 
    { 
     ReportViewer1.ServerReport.ReportPath = "/ExTraReports/TransportTotals"; 
     this.Title = "Transport Totals Report"; 
    } 

私たちは別のパスを持って詳細レポートを、呼び出した場合は、ページのロードが見たびに返されているレポートのパスを確認しなければなりませんでした。そうであれば、ifブロックに失敗し、リンクされたレポートが開きます。

関連する問題