Как загрузить файл, используя asp.net, не отправляя всю страницу назад? - PullRequest
0 голосов
/ 30 мая 2009

Я хочу загрузить файл, используя asp.net, поэтому я не хочу отправлять страницу обратно при загрузке. Как я могу это сделать и есть ли способ сделать это с помощью Ajax.

Ответы [ 3 ]

3 голосов
/ 30 мая 2009

Сделать целевую форму для загрузки файла скрытым iframe.

<iframe name="UploadTarget" style="display:none"></iframe>
<form target="UploadTarget" action="postfile" method="post" enctype="multipart/form-data">
<input type="file" name="MyFile">
<input type="submit" name="submit" value="Send me a file">
</form>

Последний трюк - добавить на страницу ответа:

<script type="text/javascript">parent.somecallbackfunction("Here is some data")</script>

Чтобы ваша родительская страница (та, которая содержит скрытый iframe) знала, что загрузка файла завершена.

0 голосов
/ 30 мая 2009

Используйте что-то проверенное, например SWFUpload и сэкономьте время на написании собственного клиентского кода.

0 голосов
/ 30 мая 2009

iframe может быть размещен на вашей странице и может содержать элемент ввода type = file. Вы можете манипулировать и отправлять форму iframe через javascript. Вы можете скрыть iframe, установив его стиль CSS для отображения: нет. Обычно это называется скрытым методом iframe.

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