从c#代码隐藏创建多个AJAX异步文件上载
我有多个asyncfileupload控件是从C#后面的代码创建的,我不知道如何从代码的UploadedComplete部分引用正确的控件实例,或者引用任何实例 我在一个页面中使用了20个异步文件上传,都在不同的模式弹出控件中,所以当你点击一个按钮时,我会从每个火后面的代码创建所有控件。因此,只使用c#是绝对必要的 每个实例的创建如下所示:从c#代码隐藏创建多个AJAX异步文件上载,c#,ajaxcontroltoolkit,asyncfileupload,C#,Ajaxcontroltoolkit,Asyncfileupload,我有多个asyncfileupload控件是从C#后面的代码创建的,我不知道如何从代码的UploadedComplete部分引用正确的控件实例,或者引用任何实例 我在一个页面中使用了20个异步文件上传,都在不同的模式弹出控件中,所以当你点击一个按钮时,我会从每个火后面的代码创建所有控件。因此,只使用c#是绝对必要的 每个实例的创建如下所示: AsyncFileUpload afuUploadEvents = new AsyncFileUpload(); afuUploadEvents.I
AsyncFileUpload afuUploadEvents = new AsyncFileUpload();
afuUploadEvents.ID = "AsyncFileUploadId";
afuUploadEvents.UploadedComplete += new EventHandler<AsyncFileUploadEventArgs>this.afuUpload_UploadedComplete);
// other settings... blah blah blah...
如何获取上载处理程序中发生的特定实例
~E
protected void afuUpload_UploadedComplete(object sender, AsyncFileUploadEventArgs e)
{
// get the file upload control - doesn't work
AsyncFileUpload oFileUpload = (AsyncFileUpload)sender;
// Try again - doesn't work
ContainerElem.FindControl("AsyncFileUploadId");
}
protected void AsyncFileUploadComplete(object oSender, AsyncFileUploadEventArgs e)
{
try
{
AsyncFileUpload oFileUploadControl = GetFileUploadInstance(ContainerId, (AsyncFileUpload)oSender);
}
catch (exception ex)
{
}
}
private AsyncFileUpload GetFileUploadInstance(Control oContainer, AsyncFileUpload oSender)
{
// Place all of your popup controls in a global container, look for the sender as a child control
foreach (Control oControl in oContainer.Controls)
if (oControl.Controls.Count != 0 && oControl.FindControl("m_afuFileUpload") == oSender)
return (AsyncFileUpload)oControl;
return new AsyncFileUpload(); // || throw new Exception("Could not find ASyncFileUpload Instance");
}