Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка под ASP.NET > Очистка FileUpload при обновлении страницы |
Автор: Kim 21.1.2009, 07:40 |
Имеется страница, на которой располагается по умолчанию 3 элемента FileUpload, а пользователь, если желает, может воспользоваться кнопкой "добавить" и ему будут по одному добавляться элементы. Предполагается, что пользователь может загрузить неограниченное количество файлов. Проблема заключается в следующем. Допустим, пользователь сначала выбрал 3 необходимых ему файла, и только потом нажал на кнопку "добавить". Так как кнопка - серверный элемент и обработчик тож находится на сервере, то страница перегружается, и - о ужас! - в трех предыдущих элементах пропадают имена файлов. Кто подскажет, как сие безобразие обойти? ![]() //пс: я понимаю, повышение безопасности, запрет на запись пути/имени файла туда... но пользователь же САМ выбрал этот файл! Надо добиться лишь того, чтобы его выбор оставался, а не исчезал... заранее премногоблагодарен |
Автор: Gwendolen 23.1.2009, 00:21 |
Никак без статичиских объектов (что есть ересь ![]() Однажды видел пример: В рантайме создается сколько необходимо элементов FileUpload (кнопки Add/Delete), а по нажатии Load получается содержимое всех файлов из FileUpload. Не помню только при нажатии на Add сохранялись ли в существующих FileUpload данные... Но нормально обрабатывалось одновремено десятки файлов. |
Автор: Любитель 25.1.2009, 18:33 |
Если ты делаешь POST (в виде постбека в том числе) на сервер при нажатии твоей Add - то действительно никак. Самый простой способ - апдейт-панели и встроенные средства ASP .Net AJAX. Самый "правильный" (на мой взгляд) способ - вообще избежать запросов на сервер при нажатии Add (в том числе AJAX-запросов). Т. е. написать скрипт, добавляющий див/строку с нужным инпутом. На сервере разбирать Request. Либо (что правильнее) написать свой контрол для этого. |