首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态创建多个asyncFileUpload

动态创建多个asyncFileUpload
EN

Stack Overflow用户
提问于 2022-07-01 22:05:30
回答 1查看 82关注 0票数 1

我有一个asp .net web表单,在这里我使用Ajax asyncFileUpload1,所以当我浏览图像时,它会触发一个函数并上传文件。

现在,当文件被上传时,我想在同一个页面上创建另一个asyncFileUpload2。但这不管用。

这工作

代码语言:javascript
复制
<div id="divform" runat="server">        
</div>

<div id="divform2" runat="server">      
</div>

<asp:Button ID="btnAddFileUpload" runat="server" Text="add" Visible="false" OnClick="btnAddFileUpload_Click" />

 **On Backend server side:**


 protected void btnAddFileUpload_Click(object sender, EventArgs e)
    {
        AsyncFileUpload AsyncFileUpload1 = new AsyncFileUpload();
        AsyncFileUpload1.UploadedComplete += new EventHandler<AsyncFileUploadEventArgs>(AsyncFileUpload1_UploadedComplete);
        divform.Controls.Add(AsyncFileUpload1);

        AsyncFileUpload AsyncFileUpload2 = new AsyncFileUpload();
        AsyncFileUpload2.UploadedComplete += new EventHandler<AsyncFileUploadEventArgs>(AsyncFileUpload2_UploadedComplete);
        divform2.Controls.Add(AsyncFileUpload2);
    }

但是我不想这样,所以我删除了Add按钮,在页面加载时,我动态地创建了第一个AsyncFilepUpload1按钮。起作用了。一旦我浏览了一个文件,在它上传之后,应该创建另一个AsyncFileUpload2。但是文件是在没有创建fileUpload2按钮的情况下上传的,代码不会抛出任何错误。

,这不工作,

代码语言:javascript
复制
<div id="divform" runat="server">        
</div>

<div id="divform2" runat="server">      
</div>

**On backend server side**

protected void Page_Load(object sender, EventArgs e)
    {
        
        AsyncFileUpload AsyncFileUpload1 = new AsyncFileUpload();
        AsyncFileUpload1.UploadedComplete += new EventHandler<AsyncFileUploadEventArgs>(AsyncFileUpload1_UploadedComplete);
        divform.Controls.Add(AsyncFileUpload1);
    }

void AsyncFileUpload1_UploadedComplete(object sender, AsyncFileUploadEventArgs e)
    {            
        string filename = System.IO.Path.GetFileName(e.FileName);
        string savePath = MapPath("Upload/" + filename + DateTime.Now.ToString("MM_dd_yyyy_HH_mm"));            
        ((AsyncFileUpload)sender).SaveAs(savePath);

        AsyncFileUpload AsyncFileUpload2 = new AsyncFileUpload();
        AsyncFileUpload2.UploadedComplete += new EventHandler<AsyncFileUploadEventArgs>(AsyncFileUpload2_UploadedComplete);
        divform2.Controls.Add(AsyncFileUpload2);
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-01 22:31:53

那么,为什么不使用一个相同的上负载控制呢?

既然你迈出了巨大的一步,跳,跳,并愿意努力采用ajaxtool?

那么为什么不使用AjaxfileUploader来代替AsyncFileUpload呢?

它允许1或20个文件。它播放了一个很好的文件列表。允许用户轻松地添加更多文件。

允许用户从“向上加载”中删除文件。

总之,这是非常,但非常非常困难的情况下,你将需要附加,甚至两个上装载机在同一页。

放入AjaxFileUp-load,并使用它:

所以,我建了一个这样的页面:

因此,您不仅可以获得热点区域(在这里放置文件),而且可以自由地选择更多的文件--1、10或20。因此,您可以获得一个漂亮的文件类型,然后可以加载它们。

因此,在页面上增加一个文件加载控件是没有什么意义的。

让他们加载5或2或20个文件。然后,您可以在文件加载后为用户显示文件列表。

所以,提供一个选项卡或一个位置来加载文件--如果他们想要的话,他们可以再加载一些--但是再次,不知道如何或者为什么需要一个以上的文件加载控制系统?让他们查看他们的文件列表,如果他们想要-加载更多的文件-让他们也这样做。但是所有这类操作都应该很简单,当然不需要在给定页面上超过一个向上加载的控制系统。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72835013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档