我在aspx.net页面中使用了AsyncFileUpload控件。此控件在更新面板中运行。
我可以成功地将文件异步上传到服务器。
我的问题是,每个文件上传后,我无法刷新整个页面,因此我需要弄清楚如何清除上一个上传的文件,因此,当用户选择要上传的新文件时,不会显示旧文件在控件中,并且控件不会在ViewState中保留其最后一次上载。
我尝试了这个http://www.aspsnippets.com/Articles/Clear-contents-of-AsyncFileUpload-Control-after-upload-and-page-revisit.aspx,但是它只清除了html,当我执行服务器异步回发时,AsyncFileUpload控件仍然具有上载的最后一个文件。
有没有办法在服务器端进行清理?也许与 View 状态有关的任何东西?
任何帮助,将不胜感激,谢谢。
最佳答案
在客户端,您可以使用OnClientUploadComplete
事件清除最后上传的文件条目。一旦文件上传完成并发生回发,AsyncFileUpload1.HasFile
将返回false
。
在aspx
页面中:
<asp:AsyncFileUpload ID="AsyncFileUpload1" OnClientUploadComplete="success" OnUploadedComplete="AsyncFileUpload1_UploadedComplete" runat="server" />
并在JavaScript标签中:
function success() {
var fu = document.getElementById("AsyncFileUpload1");
document.getElementById("AsyncFileUpload1").innerHTML = fu.innerHTML;
}
关于asp.net - 清除AjaxToolkit AsyncFileUpload控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6671403/