2012-11-06 105 views
0

我在我的MVC3項目中使用Telerik窗口。我在本地系統中有大量文件(如.Png,.JPEG,.Pdf等)。我想用Telerik Window顯示這些文件。我不知道我該怎麼做。我需要建議來做到這一點。請幫助我。Telerik MVC3窗口顯示圖像或Pdf

我有這樣的Telerik窗口代碼。

View.cshtml

<div id="upload_win"> 
@{Html.Telerik().Window().Visible(false) 
     .Name("File").ClientEvents(cli => cli.OnClose("OnClose")) 
     .Modal(true) 
     // .LoadContentFrom("action","Controller") 
     .Scrollable(false) 
     .Resizable() 
     .Draggable(true) 
     .Width(870) 
     .Height(500) 
     .Render(); 
} 
</div> 

回答

0

我今天有這個同樣的問題,這是我必須做的就是它的工作。

@(Html.Telerik().Window() 
      .Name("Window") 
      .Title("Server Report Window (PDF)") 
      .Draggable(true) 
      .Resizable(resize => resize 
       .Enabled(false) 
      ) 
      .Modal(true) 
      .Buttons(button => button 
       .Maximize() 
       .Close() 
      ) 
      .Effects(fx => 
       fx.Zoom().Opacity() 
        .OpenDuration(AnimationDuration.Slow) 
        .CloseDuration(AnimationDuration.Slow) 
      ) 
      .Content("<iframe src='Controller/Action' width='100%' height='100%' />") 
      .Width(500) 
      .Height(350)  
     ) 

因此,要注意的幾點,我嘗試使用LoadContentFrom,雖然它會返回PDF,PDF格式正被顯示爲「字節代碼」。使用內容,我使用了一個iframe,並讓iframe呈現PDF。

我仍然試圖找出如何在LoadContentFrom中獲得它,但現在這完成了工作。

UPDATE:想通了,這裏的過程

  1. 創建將返回局部視圖操作

    公衆的ActionResult DisplayPDF(){返回PartialView( 「_ PDFView」); }

  2. 創建只包含iframe的部分視圖,請確保將寬度和高度設置爲100%,這將確保無論Telerik窗口的大小如何,它都會根據相應的尺寸進行擴展,即使在調整大小。所述IFRAME SRC應指向返回文件(pdf_content, 「應用程序/ PDF)

    IFRAME SRC =」 控制器/動作」寬度= 「100%」 HEIGHT = 「100%」

  3. 在操作您查看包含Telerik的窗口,更新,以反映路徑PartialView

    .LoadContentFrom( 「控制器/ DisplayPDF」)