I need an ASP.NET control for file uploads that can work in an update panel. Any ideas?
File uploads require a postback.
You would need to use an iFrame to prevent post-back of the page you are working on.
Full explanation is available here: http://vinayakshrestha.wordpress.com/2007/03/13/uploading-files-using-aspnet-ajax-extensions/
I know you asked for a free one, but I am not aware of one. Component Art's File Upload Control (http://www.componentart.com/webui/demos/demos_control-specific/upload/features/core_features/webform1.aspx) is an AJAX File Uploader and there's no need to use an update panel.
Maybe it saves you implementation and search time and that alone pays for the control's price.
Just my $0.02
You can use Flash/Flex...check this out: Multiple File Upload With Progress Bar Using Flash and ASP.NET
I'm using it in an UpdatePanel. Make sure you change the way it behaves on "onuploadcomplete". Set it to "click" a button in the UploadPanel on upload complete.
If you don't want to implement it yourself, you are willing to pay money, I would recommend Ajax Uploader.
It allows you to select multiple files and upload multiple files at once. It supports ASP.NET AJAX frameworks and works in Ajax UpdatePanel.
Demo:
I couldn't find a free one so we developed our own. It's a simple flash based uploader and is completely free. Get it from our web site
I suggest you go wtih http://ajaxuploader.com/ Which can work within update panel.
Ajax Uploader also allows you select and upload multiple files. It is very useful for online image gallery solution.
jQuery's Uploadify is nice. Not sure if it can work inside an update panel.
My SlickUpload file upload control works inside an UpdatePanel or by itself via it's integrated AJAX support and doesn't introduce any Flash dependencies.
Post on the forums or contact me at chrish at krystalware dot com if you have any questions.
Another free one is the AsyncFileUpload control that is part of the ASP.NET Ajax Control Toolkit.
Best there is: http://www.swfupload.org/project
Free and works everytime