2012-06-15 46 views
0

我有一個打印方法,顯示一個PDF我希望它顯示在一個新的窗口!我想在新頁面/窗口上顯示PDF文件?

這就是我想要顯示在一個新的頁面,選項卡,窗口!

return File(arrStream, "application/pdf"); 

我的打印方式:

public ActionResult Print(int id) // sales contract Id 
     { 
      ParameterFields paramFields = CreateParameterFields(id); // pass the id of the contract 
      // Save the report run details 
      Guid reportRunId; 
      SaveReportRunDetails(paramFields, out reportRunId);    

      try 
      { 

       <<< Print code >>> 
       //Open a new page on this return 
       return File(arrStream, "application/pdf"); 
      } 
      catch (Exception err) 
      { 
       ViewBag.ErrorMessage = err.Message; 
       return RedirectToAction("Edit", new { id = id, error = err.Message }); 
      } 
     } 

這是一個控制器和I不能與服務器端代碼混合使用客戶端腳本,如果我在一個鏈接有它指向這個控制器,那麼即使我的錯誤會顯示在一個新的頁面上,這對用戶來說會很糟糕和煩人。

我該如何去實現我的目標?

+0

也許你的操作方法應該返回一個FileStreamResult? –

+0

解釋一下會做什麼?請 – Pomster

回答

2

要在新頁面中打開pdf,只需在調用方法中使用target="_blank"即可。

看你的代碼,它似乎並不您正在使用後,使一個簡單的

<a href="..." target="_blank">text</a> 

應該解決您的問題

+0

這是一個控制器,我不能將客戶端腳本與服務器端代碼混合在一起,如果我在鏈接中指向此控制器,那麼即使我的錯誤會顯示在新頁面上,這也會很糟糕,煩人的用戶。 – Pomster

+0

你最好在你的問題中解釋清楚,而不是 – Iridio

+0

任何其他想法? – Pomster

相關問題