2012-11-06 67 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”)