Telerik MVC3窗口显示图像或Pdf

时间:2012-11-06 04:32:19

标签: asp.net-mvc-3 telerik-mvc telerik-window

我在MVC3项目中使用Telerik Window。我的本地系统中有大量文件(如.Png,.JPEG,.Pdf等)。我想用Telerik Window显示这些文件。我不知道我怎么能这样做。我需要建议这样做。请帮助我。

我有这样的Telerik Window代码。

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>

1 个答案:

答案 0 :(得分: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中获取它,但是现在这就完成了工作。

更新:想出来,这是过程

  1. 创建将返回部分视图的操作

    public ActionResult DisplayPDF(){return PartialView(“_ PDFView”); }

  2. 创建仅包含iframe的局部视图,请确保将宽度和高度设置为100%,这将确保无论Telerik窗口的大小如何,它都会相应地扩展以适应,即使在调整大小时也是如此。 iframe src应该指向返回文件的操作(pdf_content,“application / pdf)

    iframe src =“Controller / Action”width =“100%”height =“100%”

  3. 在包含Telerik窗口的视图中,更新它以反映PartialView的路径

    .LoadContentFrom( “控制器/ DisplayPDF”)