2010-06-22 39 views

回答

0

除非JSON請求要執行一些檢查或測試,否則使用Json執行此操作沒有任何優勢。我建議創建一個特殊的HttpHandler,它在收到請求後生成PDF並將其返回給瀏覽器。這樣你就可以有一個超鏈接打開一個新窗口並在其中顯示pdf:

<a href="link to the handler" target="_blank">Open PDF</a> 
0

你爲什麼要使用Json?我認爲這是一個最簡單的方法。例如:

<%= Html.ActionLink("View pdf","GeneratePdf","YourController" new{}, new{target="_blank"}) %> 

在你的控制器

public ActionResult GeneratePdf() 
{ 
    Document pdfDocument = new Document(); 
    MemoryStream stream = new MemoryStream(); 
    PdfWriter.GetInstance(pdfDocument,stream); 
    //add some code to generate your pdf content 
    pdfDocument.Close(); 
    return new FileResult(stream,"application/pdf"); 
} 
+0

居然有通過JSON調用服務器傳遞各地25個參數。基於這些值必須生成報告。如果我去一個actionlink,所有這些參數將顯示在網址中。這是禮儀嗎? plz建議.. – vinay 2010-06-22 14:58:10

+0

您可以使用Html.BeginForm而不是actionlink並將您的參數作爲隱藏輸入。或者用你的參數做一個jquery ajax請求。 – Gregoire 2010-06-22 15:01:37

+0

會使$ .getJSON()請求能夠在新窗口中彈出pdf?如果是的話,你可以請分享更多信息.. – vinay 2010-06-22 15:08:40