#c# #asp.net #ajax #iframe #file-upload
#c# #asp.net #ajax #iframe #загрузка файла
Вопрос:
Я пытаюсь создать форму, которая разрешает асинхронную загрузку файла с asp.net . Я понимаю, что вы не можете загрузить файл с помощью ajax как таковой, поэтому я рассматриваю альтернативы
Каков наилучший способ сделать это? Создать Iframe на странице со всей формой, включая файл ввода? Могу ли я на родительском элементе фрейма иметь кнопку отправки, которая заставляет фрейм отправлять, а затем отображает какой-то счетчик, указывающий на загрузку файла? В идеале по завершении я хотел бы перенаправить пользователя на другую страницу. Есть ли несколько простой способ сделать это???
Ответ №1:
Вы пробовали использовать один из плагинов jquery вместо того, чтобы делать это вручную?
Ответ №2:
Почему бы не использовать ASP.NET AJAX управления инструментария управления AsyncFileUpload? Это бесплатно и работает довольно хорошо.
Комментарии:
1. К сожалению, я не могу использовать это решение. Запрошенная страница не является страницей, на которой находится элемент управления, и я получаю ошибку поиска по хэшу, потому что страница, которая ожидает элемент управления, не может его найти. Это связано с тем, что страница создается «на лету» с помощью xml xslt
Ответ №3:
Вы могли бы использовать http://jquery.malsup.com/form/#file-upload
Разместите его на странице, которая будет обрабатывать загрузку файла на стороне сервера вашим обычным способом.
Мне нравится, когда страница возвращает JSON с флагом успеха / неудачи и сообщением, затем анализирует ответ, чтобы определить, удалась ли загрузка.