小编典典

在AJAX updatepanel中上传文件而没有完整的回发

ajax

我有一个更新面板,在更新面板中有fileupload控件和按钮控件,单击按钮时,我需要在updatepanel的fileupload控件中上传的文件。

确切的情况是,我在页面上有8个选项卡,每个选项卡包含太多信息,其中一个选项卡是附件,当用户单击显示的“添加新附件模态弹出窗口”时,模态在Updatepanel中包含detailsview,在detailsview中我有文件上传控件,当用户点击
保存 按钮, 触发了detailsview插入事件 ,在插入事件中,我需要上传的文件。
请注意,我的页面很沉重,我不希望全文发回。

有人能解决这个问题吗?

预先感谢您的帮助。


阅读 157

收藏
2020-07-26

共1个答案

小编典典

要解决此问题,请参见以下步骤。

  1. 将ajax-upload添加到您的详细信息视图。
    • 基于iframe的上传器, 如Resource#1。
    • 基于Silverlight和基于Flash的上传器。 我喜欢这项技术,因为它不需要任何服务器端脚本即可显示当前的上传状态。但是在HTML5中,您可以在不使用任何Web浏览器插件的情况下创建它。
    • 商业上传者,例如Resource#2。 使用隐藏的iframe进行上传。
  2. 将文件上传到临时位置。

    • 系统响应该临时位置。 接下来,客户将详细信息保留在隐藏输入中的临时位置。
    • 使用session_id保留临时位置。 您可以将其存储在数据库或Session变量中,具体取决于您的框架。
    • 当您单击保存按钮时,系统会将文件移至其实际位置

注意。系统将自动从临时位置删除过期文件。

资源资源

  1. 带有 实时 进度栏的ASP.NET文件上传
  2. 像GMail一样的ASP.NET文件上传(商用)

更新资料

差不多一年后,我刚刚找到了一个很好的第三方控制此问题。这是jQuery的开源插件。它的名称为Plupload,它使您可以使用HTML5,Silverlight,Flash或常规格式上传文件,并且它提供了一些独特的功能,例如上传进度,图像大小调整和分块上传。

您可以通过单击此处尝试并测试Plupload。

2020-07-26