Как объединить всплывающее окно с предупреждением в функции сохранения в виде файла в asp.net? - PullRequest
0 голосов
/ 17 июля 2010

Я пытаюсь написать функцию, которая должна сохранять файл (в csv) и имеет условие.это что-то вроде этого:

Если файл небольшой, то 1 МБ, тогда я хочу вызвать предупреждение в javascript и продолжить с командами сохранения в файл.

То, что я сделал, было:

if(...)
{
}
else
{
  ClientScript.RegisterStartupScriptBlock(...alert('aaa')...);
}
Response.ContentType = "text/csv";
Response.AppendHeader("Content-Disposition","attachment; filename=file.csv");
Response.TransmitFile("FILE.csv");
Response.End();

сохранение как работает отлично.но предупреждение не появится в другом случае.Я пытался RegisterStartupScript.Я перепробовал много вариантов.Но похоже, что response.end останавливает выполнение клиентского сценария.

Я пишу на c # asp.net (веб-сайт с поддержкой ajax, но не используется), visual studio 2005.

Может кто-нибудь знает, как это обойти?Как я могу заставить это работать?

спасибо, Гадым.

1 Ответ

1 голос
/ 17 июля 2010

Проблема в том, что ваш тип контента - "text / csv", поэтому сервер никогда не отправит ваш скрипт запуска в браузер. Даже если это произойдет, браузер будет работать с ответом как csv-файлом, а не как html, и поэтому скрипт никогда не будет выполнен.

Способ сделать это состоит в том, чтобы включить перенаправление в скрипт запуска, что-то вроде этого:

alert("aaa");
window.loocation.href = "http:\\url-to-return-csv";

URL может указывать на вашу существующую страницу с параметром, указывающим вам просто перезапустить csv, или вы можете написать обработчик http для возврата csv

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