В ASP.NET MVC Telerik MVC Grid, как бы я показал PDF / Doc / текстовый файл во всплывающем окне вместо того, чтобы разрешать пользователям загружать его?

#jquery #asp.net-mvc #telerik #popupwindow

#jquery #asp.net-mvc #telerik #popupwindow

Вопрос:

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

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

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

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

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

Ответ №1:

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

Код :-

  <% 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; }
}
  

И это все.. Готово