Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Поймать Response.End на клиенте / 9 сообщений из 9, страница 1 из 1
09.07.2014, 12:18
    #38691738
rinat mergenbaev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поймать Response.End на клиенте
Привет.
Есть сайт asp.net mvc.
на форме есть кнопка скачки файла. После нажатия она пропадает. Нужно после получения данных снова сделать ее видимой

код

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
$(document).ready(function () {
("#validateBtn").click(function () {

   $("#validateBtn").hide();
});

});

<button type="submit" class="validateBtn" id="validateBtn">Search</button>



на сервере в ответ на данный сабмит скачивается файл что-то типа такого

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
Response.Buffer = true;
Response.Charset = "";
Response.AddHeader("content-disposition", "attachment; filename=" +  Test + ".ppt");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/octet-stream";
Response.BinaryWrite(binaryData);
Response.Flush();
Response.End();



вопрос: как после получения данных на клиенте снова сделать кнопку видимой?
...
Рейтинг: 0 / 0
09.07.2014, 15:24
    #38692046
rinat mergenbaev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поймать Response.End на клиенте
Сделал на основе примера
...
Рейтинг: 0 / 0
09.07.2014, 15:25
    #38692047
rinat mergenbaev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поймать Response.End на клиенте
сделал на основе примера

отсюда
...
Рейтинг: 0 / 0
10.07.2014, 12:37
    #38693011
monstrU
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поймать Response.End на клиенте
rinat mergenbaev,

лучше поменяй подход - зачем ты ее вообще скрываешь?
хочешь чтобы один раз файл скачивался ? сформируй уникальный идентификатор закачки.
после начала скачивания ты в этот процесс никак не влезешь. да и не нужно
...
Рейтинг: 0 / 0
11.07.2014, 16:37
    #38694601
rinat mergenbaev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поймать Response.End на клиенте
monstrUrinat mergenbaev,

лучше поменяй подход - зачем ты ее вообще скрываешь?
хочешь чтобы один раз файл скачивался ? сформируй уникальный идентификатор закачки.
после начала скачивания ты в этот процесс никак не влезешь. да и не нужно

не пойдет. тут запускается тяжелый запрос в базу. юзер тыкает постоянно и говорит что не работает.
надо показать что запрос ушел и чтобы он больше не тыкал
...
Рейтинг: 0 / 0
12.07.2014, 11:00
    #38694882
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поймать Response.End на клиенте
rinat mergenbaev...не пойдет. тут запускается тяжелый запрос в базу. юзер тыкает постоянно и говорит что не работает.
надо показать что запрос ушел и чтобы он больше не тыкал
1. при тынце на кнопку, прикрывать её полупрозрачным дивом, с колёсиком желательно (или делать кнопку невидимой/задизабленой - на вкус).
2. установить фокус на этот полупрозрачный див (чтобы он был фокусным, надо ему табиндекс дать), или, в случае нивидимости кнопки, на какой-то другой (видимый и фокусабельный) элемент.
3. когда выскакивает диалог "что типа с файлом делать?" - происходит потеря фокуса с элемента или полупрозрачного дива.
4. поэтому, на онблюр, надо сделать наш див с колёсиком невидимым, или (в случак с кнопкой) кнопку - видимой и кликабельной.

Всё вышесказанное делается яваскриптом, а не на сервере.
...
Рейтинг: 0 / 0
12.07.2014, 11:05
    #38694883
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поймать Response.End на клиенте
а если между нажатием кнопки и появлением диалога пользователь тыкнет в другой элемент страницы?
...
Рейтинг: 0 / 0
12.07.2014, 12:21
    #38694907
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поймать Response.End на клиенте
Shocker.Proа если между нажатием кнопки и появлением диалога пользователь тыкнет в другой элемент страницы?
Я же советовал, что лучше прикрывать клиентскую часть браузера полупрозрачным дивом с анимированым колёсиком. А так - ну да, фиг его знает. Причём, пользователь может ещё и энтер нажать, что часто означает то же самое, что и нажать на кнопку.
...
Рейтинг: 0 / 0
12.07.2014, 22:46
    #38695161
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поймать Response.End на клиенте
ShSergeна кнопку , прикрывать её полупрозрачным дивом, с колёсикомShSergeЯ же советовал, что лучше прикрывать клиентскую часть браузера полупрозрачным дивом с анимированым колёсикомкнопка и клиентская часть браузера не одно и то же, согласись.

По поводу прикрытия клиентской части - мне очень нравится вот эта библиотека . Пользоваться просто и удобно.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Поймать Response.End на клиенте / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]