2013-02-25 269 views
1

在我的應用程序中,我在我的解決方案中有一個pdf文檔,當用戶單擊某個特定按鈕時,文檔必須在彈出窗口中打開。我可以通過返回文件流對象在同一窗口中打開它。我使用的代碼。MVC在彈出窗口中打開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"); 
     } 
    } 

我怎樣才能加載相同的彈出式窗口中提前

回答

3

感謝這將取決於你如何調用從客戶端該控制器動作。例如,如果您有鏈接,則可以將target="_blank"屬性添加到此錨點。例如:

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

或者,如果你正在使用JavaScript來調用控制器操作,您可以使用window.open功能。

相關問題