Не удается загрузить файл, если диалоговое окно модели уже открыто - PullRequest
0 голосов
/ 17 мая 2018

Мы открыли всплывающее окно с помощью расширения jquery. Наше требование - загрузить файл по нажатию кнопки, присутствующей во всплывающем окне.Мой код выглядит так: -

JS code:-
showModalData: function (obj) {
        var url = OC.MVC.util.getLink("Employee", "GetDetail");
        $.ajax({
            url: url,
            type: 'GET',
            success: function (result) {                         
                $.modal(result);//open the modal popup
            },
            error: function (err) {
                alert(err.responseText);
            }
        });
    }

Controller code:-
 public virtual ActionResult GetDetail(Employee model)
        {
            return PartialView(model);
        }

View:-
<div>
@Html.Raw(Html.Button("btnDownload", "Download").ToString())
<div>

Теперь, после нажатия кнопки «Загрузить», мне нужно скачать файл для этого кода: -

  public ActionResult Download()
        {
            byte[] fileBytes = System.IO.File.ReadAllBytes(@"c:\New\note.txt");
            string fileName = "note.txt";
            return (File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName));

        }

При нажатии кнопки загрузки будет вызвано действие «Загрузка», определенное в контроллере. Возврат (File (fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName));должен открыть диалоговое окно сохранения , чтобы выбрать путь для сохранения документа. Но оно не открывает диалоговое окно сохранения . Также не отображается ошибка и ничего не происходит. Примечание: кнопка загрузки присутствует вМодальное всплывающее окно.

1 Ответ

0 голосов
/ 17 мая 2018

Необходимо убедиться, что действие загрузки вызывается с помощью обычного HTTP-запроса из браузера, а не с помощью вызова AJAX, инициируемого с помощью JavaScript.

...