根据
Microsoft,FileUpload控件与AJAX UpdatePanel不兼容。
我知道PostBackTrigger可以添加到表单的提交按钮,如下所示:
<Triggers> <asp:PostBackTrigger ControlID="Button1" /> </Triggers>
问题在于,这迫使表单执行完整的后置处理,这首先无法使用UpdatePanel的整体。这个问题有解决方法,不会导致整个页面刷新?
解决方法
我知道可以做到这一点的第三方组件。它被称为
“swfupload“,可以自由使用和开源,并使用javascript和flash来做魔术。
这里列出了他们提供的功能:
(从他们的网站)
- Upload multiple files at once by ctrl/shift-selecting in dialog
- Javascript callbacks on all events
- Get file information before upload starts
- Style upload elements with XHTML and css
- Display information while files are uploading using HTML
- No page reloads necessary
- Works on all platforms/browsers that has Flash support.
- Degrades gracefully to normal HTML upload form if Flash or javascript is
unavailable- Control filesize before upload starts
- Only display chosen filetypes in dialog
- Queue uploads,remove/add files before starting upload
他们也有一个demo area,你可以在他们的控制下玩耍。这样你就可以确定它是你想要的。
我们在一个项目中使用它,迄今为止从未失败,所以我认为这是一个安全的赌注。