0

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

我有一个像这样的 Telerik Window 代码。

查看.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>
4

1 回答 1

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 被显示为“字节码”。使用 Content,我使用了 iframe,并让 iframe 呈现 PDF。

我仍在试图弄清楚如何在 LoadContentFrom 中获取它,但现在这已经完成了。

更新:想通了,这是过程

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

    public ActionResult DisplayPDF(){ return PartialView("_PDFView"); }

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

    iframe src="控制器/动作" width="100%" height="100%"

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

    .LoadContentFrom("控制器/DisplayPDF")

于 2012-12-17T17:06:57.853 回答