Как в ASP.NET MVC 2 без JS / AJAX сделать задержку загрузки страницы - PullRequest
2 голосов
/ 10 сентября 2011

Я хочу сделать страницу загрузки после нажатия кнопки.Эта страница должна показать некоторую информацию, а затем, через некоторое время, начать загрузку файла.Лучше всего, если это будет работать без JavaScript и Ajax.Я пробовал с асинхронным контроллером, но это не совсем работает, как я хочу.

1 Ответ

0 голосов
/ 10 сентября 2011

Я могу думать только об одном способе сделать это.Добавьте HTTP-заголовок (обновление), который перенаправляет браузер на ссылку для загрузки после определенного интервала.Поскольку ссылка будет возвращать ответ в виде вложения, она не должна обновлять страницу браузера, а должна начинать загрузку.В разделе head вашего представления добавьте:

<meta http-equiv="refresh" content="30; ,URL=@Model.DownloadURL">

Предполагается, что ваша модель содержит URL-адрес для загрузки в свойстве модели DownloadURL.Загрузка должна начаться через 30 секунд.

Кроме того, AJAX может помочь отобразить начальную страницу загрузки, но вы не можете загружать файлы через AJAX.Это занимает полный запрос, так как XMLHttpRequest не обрабатывает Content-Disposition: attachment.

...