1

在我的应用程序中,我的解决方案中有一个 pdf 文档,当用户单击特定按钮时,必须在弹出窗口中打开该文档。我可以通过返回文件流对象在同一个窗口中打开它。我使用的代码。

public ActionResult ShowPdf()
    {
        if (System.IO.File.Exists(Server.MapPath("~/downloads/MyPdf.pdf")))
        {
            string pathSource = Server.MapPath("~/downloads/MyPdf.pdf");
            FileStream fsSource = new FileStream(pathSource, FileMode.Open, FileAccess.Read);

            return new FileStreamResult(fsSource, "application/pdf");
        }
        else
        {
          return RedirectToAction("Index", "User");
        }
    }

我如何在弹出窗口中加载相同的内容

提前致谢

4

1 回答 1

3

这将取决于您如何从客户端调用此控制器操作。例如,如果您有一个链接,您可以将target="_blank"属性添加到此锚点。例如:

@Html.ActionLink(
    "Download pdf",
    "ShowPdf",
    "SomeController",
    null,
    new { target = "_blank" }
)

或者,如果您使用 javascript 来调用控制器操作,则可以使用该window.open函数。

于 2013-02-25T09:50:35.780 回答