Fileupload 多次上传文件

Fileupload uploads files multiple times

我在 asp.net 网站上使用 jquery blueimp fileupload 时遇到一个奇怪的问题。在尝试了一些错误之后,我把它设置为 运行 没有太大问题,并且它或多或少地工作正常。但是,有一些我无法解决的奇怪行为。作为任何 jquery 插件的规范,它必须在页面加载后进行初始化。但是,我不能使用常规的 $(document).ready 因为必须使用它的 webform 包含多个更新面板,因此我需要使用 pageLoad 函数以在任何隐藏的回发后保持插件初始化更新面板可能会触发。现在,一旦我上传,就会出现奇怪的行为。如果我在网络表单中执行任何其他操作(导致来自更新面板的操作),我尝试上传的下一个文件将上传两次。如果我再做一个动作,我上传的下一个文件会上传 3 次,依此类推

尝试在每个 pageLoad 上销毁插件似乎没有任何区别。并在 $(document).ready 中初始化它没有任何效果,因为这只发生在第一个表单加载时。有任何想法吗?。谢谢

是的,我解决了,抱歉,我忘了我在这里问过,所以我没有回来post回答,所以遇到类似问题的人可能会在这里结束可以阅读它。

诀窍是在插件上调用销毁,而不是在每个 pageLoad 事件上,而是在请求开始时调用。像往常一样,asp.net updatepanels 和 jquery 一起工作时非常棘手。

做类似

的事情
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(pageBeginRequest);
function pageBeginRequest() {
    $('#fileupload').fileupload();
    $('#fileupload').fileupload('destroy');   
}

将确保插件被销毁,因此它在 pageLoad 上再次刷新,避免事件被多次绑定。这就是为什么文件上传的次数与部分 post 发生的次数一样多。