В моем проекте мне нужно загрузить файлы, поэтому я решил использовать загрузчик, предоставленный asp.net. Элементы управления ajax AsyncFileUPloader. есть четыре блока. каждый блок содержит два таких загрузчика , поэтому я решил использовать власть пользовательских элементов управления asp.net. я завернула необходимые поля формы в моем пользовательский элемент управления под названием DesignUploader.ascx Теперь я должен поставить четыре экземпляра этого элемента управления на моей странице ASPX см хватку нижеAjax Control Toolkit AsyncFileUploader Control и viewstate/session Проблема
моя проблема начинается здесь я должен вставить файл в базу данных, и каждый из блоков генерирует уникальные изменения идентификатора и идентификатора после загрузки файла на сервер. я заметил, что viewstate не работает для меня в случае asyncfileuploader
, он очищает viewstate, потому что он делает секретную обратную передачу на сервер за кулисами. теперь только для меня остается использовать сеанс, но когда пользователь загружает файлы в два блока один за другим, тогда путь файла из вторых/третьих последовательных блоков перезаписывает мой сеанс. я не знаю, сколько блоков пользователь может использовать для загрузки проектов, которые он может использовать только 1, или он может использовать все четыре.
В нижней части страницы будет нажата последняя кнопка отправки, по которой мне нужно вставить данные в базу данных.
поэтому, когда я попытался сохранить данные в базу данных сессии хранит значение недавно закачанный путь к файлу для всех записей моей проблемы заключается здесь
я не знаю, если я был в состоянии чтобы правильно описать мою проблему или нет, пожалуйста, извините меня, если это не ясно, и отправьте комментарий, если потребуется.
Примечание: Я не могу изменить интерфейс, потому что клиент настаивает на этом только :(
любая быстрая работа вокруг будут оценены гораздо
Благодаря Devjosh
благодарит за ответ. да, как вы сказали, я пробовал этот способ хранения файлового пути onfileuploaded event, но когда я установил скрытое поле на стороне сервера onFileUploaded, это скрытое поле не обновляет/устанавливает, и именно поэтому я использовал сеанс для хранения в качестве альтернативы прямо сейчас i не может отправлять код, поскольку я вне рабочего места. поскольку вы подняли пользовательское событие, я не пробовал этот способ. Я дам ему попробовать и дам вам знать. – Devjosh
В моем коде нет специальных событий. Вы не можете установить значение скрытого поля в обработчике событий UploadedComplete, поскольку оно выполняется асинхронно. Но вы можете зарегистрировать javascript в нем, чтобы обновить значение скрытого поля на клиенте. Это используется в предлагаемом коде. Обратите внимание, что при выполнении AsyncFileUpload в кадре вы должны вызывать функцию '$ get' в родительском фрейме. –
ok @yuriy Я попробую это и дам вам знать завтра снова спасибо – Devjosh