перенаправить текущую страницу на страницу загрузки в asp.net - PullRequest
0 голосов
/ 21 октября 2010

У меня проблема при попытке автоматической загрузки на другой странице, которая уже была указана.

На текущей странице у меня есть кнопка, чтобы вызвать перенаправление на страницу загрузки, но я хочу, чтобы загрузка была выполнена автоматически, даже еслине сделано автоматически.Это можно сделать, используя ссылку для скачивания файла.Имя файла, которое требуется загрузить, передать с помощью строки запроса, файла cookie или сеанса (в данном случае я использую файл cookie).

Страница перенаправления и кнопка загрузки по ссылке работают идеально, как мне хотелось бы.Но проблема заключается в том, что автоматическая загрузка не работает должным образом.

Это то, что я уже пытаюсь сделать с проблемой автоматической загрузки:

  1. с использованием условия if (!IsPostBack).Загрузка работает, но страница не перенаправляет на страницу загрузки, и даже этот процесс обновления продолжается.(На самом деле я ставлю прогресс обновления для создания файла цели перед перенаправлением и загрузкой).

  2. с использованием таймера.Когда нет условия обратной передачи, я пытаюсь включить таймер с интервалом 2 сек.Когда в таймере срабатывает событие, я отключаю таймер и пытаюсь загрузить его.Но проблема в том, что таймер не отключается, каждые 2 секунды загружайте файл.

С уважением.

1 Ответ

1 голос
/ 21 октября 2010

Вы можете использовать Server.Execute ("downloadpage.aspx"); выполнить его с помощью кода C #. или же используйте таймер JavaScript следующим образом:

function startdown() {
var url = "<%= DownloadPageurl %>";
setTimeout("window.location.href='" + url + "';", 5000);
}

и затем вызовите функцию startdown () с помощью c # или javascript в соответствии с вашими условиями для загрузки

или используйте ниже код для скачивания

lass DownloadLibrary
{
public static string getContentType(string Fileext)
{
string contenttype = "";
switch (Fileext)
{
case ".xls":
contenttype = "application/vnd.ms-excel";
break;
case ".doc":
contenttype = "application/msword";
break;
case ".ppt":
contenttype = "application/vnd.ms-powerpoint";
break;
case ".pdf":
contenttype = "application/pdf";
break;
case ".jpg":
case ".jpeg":
contenttype = "image/jpeg";
break;
case ".gif":
contenttype = "image/gif";
break;
case ".ico":
contenttype = "image/vnd.microsoft.icon";
break;
case ".zip":
contenttype = "application/zip";
break;
default: contenttype = "";
break;
}
return contenttype;
}

public static void downloadFile(System.Web.UI.Page pg, string filepath)
{
pg.Response.AppendHeader("content-disposition", "attachment; filename=" + new FileInfo(filepath).Name);
pg.Response.ContentType = clsGeneral.getContentType(new FileInfo(filepath).Extension);
pg.Response.WriteFile(filepath);
pg.Response.End();
}
}

Ссылки:

http://dotnetacademy.blogspot.com/2010/09/timer-in-javascript.html

http://dotnetacademy.blogspot.com/2010/01/download-any-file-or-image-from.html

http://dotnetacademy.blogspot.com/2010/07/code-to-download-file-on-buttton-click.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...