3

新しいタブで PDF ファイルを投稿、処理、および返す target="_blank" のフォームがあります。問題は次のとおりです。

初めて行うときは問題ありませんが、もう一度行うと、新しいタブを開く代わりに、古いタブが新しい​​コンテンツに置き換えられます!

Internet Explorer を使用している場合、パラメータが null に設定されます。この場合、新しいタブを閉じて、もう一度やり直す必要があります。

コントローラ:

public ActionResult SubmitReport(string parameter)
{
   // all the code
   return File(stream, "application/pdf");
}

意見:

@using (Html.BeginForm("SubmitReport", "ResumoPagamentos", FormMethod.Post, new { area = "CI3S", @target = "_Blank" }))
{
  // etc.. etc...
}
4

2 に答える 2

0

まず、適切なファイルを開くためのハイパーリンクを作成します。ハイパーリンクをクリックすると、ブラウザーの新しいタブで PDF ファイルが開きます。

public ActionResult OpenFile(int id)
{
    var Filename = objdb.Pdfs.Where(x => x.Id == id).Select(x => x.PdfFile).FirstOrDefault();
    if (Filename != null)
    {
        string path = Server.MapPath("/FileStorage/" + Filename);
        if (System.IO.File.Exists(path))
        {
            Response.AppendHeader("Content-Disposition", "inline; filename=something.pdf");
            return File(path, Filename);
            //return File(path, "multipart/mixed", Filename);
            //return File(path, "application/pdf");
        }
    }
    return View();
}
于 2013-09-04T13:05:41.757 に答える