我AsyncFileUpload
在网页上实现了控件。此网页要求上传的文件以GridView
.
其中GridView
包含以下列:“文件名”、“机密”复选框,以及用于删除上传文件的“删除”按钮。
由于AsyncFileUpload
回发不执行整页回发,我需要OnClientUploadComplete
在 AsyncFileUpload 控件的事件上“强制”回发,以便在上传文件后呈现 gridview。
在中OnClientUploadCompleteEvent
,我使用 javascript 来调用__doPostBack
. 在这个回发中,我只绑定了我的 GridView 并显示了文件信息(我没有重新保存文件)。
问题:在AsyncFileUpload
第一次“部分”回发时,文件按预期成功上传。在我强制使用的第二次回发中__doPostBack
,文件被重新上传。
您可以使用显示上传进度的 Google Chrome 来验证这一点。行为如下:
- 选择文件后,进度从 0% 递增到 100% 并上传文件。
- 之后,__doPostBack
执行,您可以看到上传进度再次从 0% 增加到 100%。
如何确保正确填充了 Gridview,但文件没有上传两次?
我附上了一个包含问题的示例解决方案:https: //www.yousendit.com/download/MzZFc2ZBNDRrYUN4dnc9PQ