0

Webアプリケーションに問題があります。私はMVC3を使用していますが、あまり詳しくありません。

ユーザーが印刷するアプリケーション用紙を選択できる機能を作成しています。PDFファイルのストリームを返す関数があります。しかし、UIからデータを送信するのは問題です。このページには[印刷]ボタンがあり、押すとUIダイアログが表示され、ユーザーがアプリケーションを選択するためのチェックボックスが表示されます。確認ボタンは、印刷時の確認である必要があります。

コントローラにデータを送信して、PDFで新しいタブ/ウィンドウを返すのに問題があります。3つの変数をコントローラーに送信する必要があります。印刷するもの、ユーザーのID、およびその他の1つの変数に関する情報を保持する文字列。AJAXを試しましたが、機能しません。AJAXでは別のタブでPDFを返すことができないようです(間違っている場合は修正してください)

誰かが私にこの問題を解決する方法を教えてもらえますか?ダイアログウィンドウからコントローラーにデータを送信して、新しいタブまたはウィンドウでPDFファイルを返すことができるようにするための優れたソリューション。

編集:

public ActionResult GetApplication(ApplicationData appldata)
{
      var application = GetApplicationPapers(appldata.ShowApplOne, appldata.ShowApplTwo); // Applications comes from report server so true or false to determine whether the pdf contains the report or not.
Response.AddHeader("Content-Disposition", "inline; filename=application.pdf");
return new FileStreamResult(application, "application/pdf");
}

これはそれが知っているように見える方法です。ストリームに含まれる論文を特定するには、UIダイアログのチェックボックスから値を取得する必要があります。

4

1 に答える 1

0

POSTしようとしているコントローラーのアクションメソッドがどのように見えるかを確認できますか?基本的に、次のような通常のActionLinkメソッドを使用できます。

@Html.ActionLink("LinkText", "ActionMethodName", 
      new {var1 = val1, var2 = val2, var3 = val3}, new {target = "_blank"})

ここで、「varX」はアクションメソッドのパラメーターの名前です。

于 2012-07-31T14:23:44.723 に答える