2013-09-16 37 views
0

注意:我不想用模態內聯顯示PDF。相反,我期望讓瀏覽器確認文件並允許用戶保存或打開它。如何通過jQuery模式對話框返回PDF的MVC文件ActionResult

我在MVC 4中有一個jQueryUI模式對話框。對話框是模態的。對話框的內容來自Partial Views,它工作正常。我在對話框本身只有一個按鈕,並已成功獲取所有JavaScript來處理客戶端數據輸入檢查。

讓我頭疼的是,我在部分視圖中嵌入了一個按鈕,用於顯示PDF文件。我可以成功調用一個調用從其他服務器獲取文件的控制器的JavaScript函數。我甚至可以將文件轉換爲字節數組,最後一行是 return File(contents, "application/pdf", "PropsedChanges.pdf");

但是它不會打開,因爲我懷疑模態對話框阻止了它。

我在模型對話框外做了類似的事情,它爲我提供了屏幕底部的保存/打開選項,或者在其他瀏覽器中以正確的方式顯示。

有沒有辦法在瀏覽器外部的客戶端PC /設備上的註冊PDF查看器中顯示PDF,以查看是否需要保存或打開它?正如我懷疑的那樣,這是因爲模態對話而沒有發生。

非常感謝幫助。

+0

您是否得到了答案。我試圖在新的瀏覽器窗口中打開PDF,但不是PDF Viewer – Ziggler

回答

1
public ActionResult GetPdf(Model modelo) 
    { 
     return File(Pdf bytes[], "application/pdf"); 
    } 
0

嘗試使用新的窗口來打開您的PDF。像目標=「_新」或「空白」。

0

如果您正在使用Asp.net 5,通過安裝的NuGet MvcPdfActionResult

PM> Install-Package MvcPdfActionResult 

只需使用返回類型PdfActionResult控制器將輸出的PDF文檔,而不是HTML。這使用iTextXmlWorker庫將HTML轉換爲PDF。

... 
    return PdfActionResult(model); 
} 

在asp.net 5 MVC項目中從剃鬚刀視圖中生成pdf文檔。 https://www.nuget.org/packages/MvcPdfActionResult/

相關問題