#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; }
}
И это все.. Готово