侧面更新面板中的AsyncFileUploader

本文关键字:AsyncFileUploader 更新 侧面 | 更新日期: 2023-09-27 18:19:55

我在更新面板中使用AJAX AsyncFileUploader。但它不起作用。有谁能帮我换个方法吗。

感谢

侧面更新面板中的AsyncFileUploader

您必须设置文件控件的这些事件。

OnClientUploadError="uploadError" OnClientUploadComplete="uploadComplete" 

您必须定义客户端上传事件,并可以选择设置OnUploadedComplete服务器端事件:

<ajax:AsyncFileUpload ID="UploadResume" runat="server" Width="450px"
OnClientUploadError="UploadError"
OnClientUploadComplete="UploadComplete" 
OnUploadedComplete="OnUploadComplete"
UploaderStyle="Modern" 
UploadingBackColor="#CCFFFF"/>

客户端事件处理程序(JavaScript)

function UploadError(sender, args) 
{
    var e = args.get_errorMessage();
    var fn = args.get_fileName();
}
function UploadComplete(sender, args) 
{
    var content_type = args.get_contentType();
    var size = args.get_length()/1000 + " Kbytes";
}

服务器端事件处理程序(C#)

protected void OnUploadComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
    if (UploadResume.HasFile)
    {
        // do something with uploaded file, e.g. save
        String path = MapPath("yourpath") + Path.GetFileName(e.FileName);
        UploadResume.SaveAs(path);
    }
    else
    {
        // error
    }
}

在这个例子中,您不需要使用UpdatePanel,但它在UpdatePanel中可以工作。

对于那些可能正在挣扎的人,我遇到了类似的更新面板问题。即使我添加AsyncFileUpload1作为更新面板的回发触发器,它仍然无法工作。

我最终在更新面板外的主页上添加了一个额外的、完全未使用的AsyncFileUpload3,这使得更新面板内的AsyncFileUpload1能够正常工作。我不知道为什么这样做,除了他们必须共享资源。

未使用的AsyncFileUpload3必须可见才能工作,所以我将其设置为禁用,宽度为0%。如果有人知道为什么这样做,我会非常好奇。我在VB 中编码