2

私のアプリケーションはC#.Netでコード化されたAsp.net MVC3にあります。私の要件は、データをデータベースの特定のテーブルに保存する [ドラフトに保存] ボタンがあることです。ビューに印刷ボタンがあります。データの印刷にSSRSを使用しています。ユーザーがフォームに入力して [下書きに保存] をクリックすると、そのデータが保存され、ユーザーは [印刷] ボタンをクリックして、保存されたデータの SSRS レポートを取得できます。私の問題は、ユーザーが印刷ボタンをクリックすると、レポートが表示される新しいタブが開くはずです。

以下は私のビューコードです

    $("#Print_button").live("click", function () {
       $('#My_Form').attr('action', 'My Controller action which passes parameter to 
       SSRS report');
    });

印刷ボタンの HTML

 <input type="submit" id="Print_button"  value="Print"  />

コントローラーコード

     [HttpPost]
     public ActionResult Method_That_Pass_ParameterTo_SSRS(MyClass Class_Object)
     {
          My Logic to pass the parameters to SSRS report
          return View(Class_Object);
     }

問題を解決するための私の試み

1.ボタン HTML に Target="_blank" を追加しようとしました

2. Jquery Print_Button クリック イベントの window.open('MyAction','_blank')

4

2 に答える 2

0

ロジックを少し変更します。他のボタンをクリックしてデータが既に保存されている場合は、フォームを使用してパラメーターを渡すことはできません。

代わりに、Html.ActionLinkクリック後にパラメーターを取得して置き換えることができます。このようなアプローチでは、結果を新しいタブで開くことができます。見て:

@Html.ActionLink("Print", "Action", "Controller", new{param = xxx}, new {@target="_blank", @class="print"})

    <script>
    $(function () {
    $('.print').click(function () {          
                var param = $(".somediv").val() //*Get your param value
                this.href = this.href.replace("xxx", param);
            });
    });
    </script>
于 2013-09-11T08:09:39.640 に答える