Как в ASP.NET MVC + Telerik MVC Grid отображать PDF / Doc / Text File в всплывающем окне вместо того, чтобы позволить пользователям загружать его? - PullRequest
0 голосов
/ 11 апреля 2011

Как мне показать PDF / Doc / Text File в всплывающем окне вместо того, чтобы позволить пользователям загружать его?

Путь к этим файлам хранится в таблице базы данных, и в моем проекте ASP.NET MVC 2.0 у меня есть папка с именем «Файлы», где хранятся мои фактические файлы.

У меня есть Telerik MVC Grid, где есть столбец с именем AssociatedFiles, и в этом столбце есть шаблон клиента, такой как «Просмотр файла». Когда кто-то нажимает на эту ссылку, фактический файл, связанный с этим RowID, должен отображаться во всплывающем окне, а не позволять пользователям загружать его.

Используя FilePathResult, я могу разрешить пользователям загружать его, но я этого не хочу. Я хочу, чтобы пользователи просматривали этот перкулярный файл в всплывающем окне.

Я много раз искал связанный код для этого перикулярного сценария, но не смог найти ничего полезного. Пожалуйста, помогите мне с фактическими рабочими кодами. Присылайте ваши комментарии @ ashes22@gmail.com

1 Ответ

1 голос
/ 08 сентября 2011

Добавьте частичное представление в папку просмотра с именем «FilePopUp».Здесь используйте Telerik Window Control

Код: -

 <% Html.Telerik().Window()
            .Name("PopupWindow")
            //.Title("View PDF")
            //.Icon(Url.Content("~/Content/Common/Icons/favicon.png"), "favicon")
            .LoadContentFrom(Model.PDFFilePath).Modal(true)
            .Buttons(buttons => buttons.Close(Url.Action("Controller", "Action")))
            //.Buttons(buttons => buttons.Maximize(Url.Action("Controller")).Close(Url.Action("Controller", "Action")))
            .Scrollable(false)
            .Resizable()
            .Draggable(true)
            .Width(870)
            .Height(500)
            .Render();
    %>

В вашем контроллере: -

            public ActionResult GetPdffile(string id)
    {
        try
        {
            FilePathAdmin filePath = new FilePathAdmin();
            filePath.ERAPDFFilePath = this.WorkerService.GetPdfFilepath(id);
           //string filepath = this.WorkerService.GetPdfFilepath(ID);
            return PartialView("PopUpWindow", filePath);

        }
        catch (Exception ex)
        {
            bool reThrow = ExceptionPolicyWrapper.HandleException(ex, ExceptionPolicies.MVCPolicy);
            if (reThrow)
                throw;
        }
        return null;
    }

В вашем классе модели создайте еще один класс с именем FilePathAdmin инапишите следующий код в нем

           public class FilePathAdmin
{
    public string ERAPDFFilePath { get; set; }
}

И это все .. Вы сделали

...