I have a asp .net web form where I am using Ajax asyncFileUpload1, so that when I browse an image it triggers a function and uploads the file.
Now when the file gets uploaded I want to create another asyncFileUpload2 on the same page. But it's not working.
This works
<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);
}
But I don't want in this way, so I removed Add button and on page load, I dynamically created first AsyncFilepUpload1 button. that worked. And once I browse a file, after it's upload another AsyncFileUpload2 should be created. But file gets uploaded without creating the fileUpload2 button and code does not throw any error.
This doesn't work
<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);
}
