AsyncFileUpload上传完成无法正常工作

时间:2012-06-21 12:49:26

标签: c# asp.net

我在我的asp.net应用程序中使用ajaxToolkit:AsyncFileUpload。在AsyncFileUpload1_UploadedComplete服务器端事件中,我试图使标签可见并更改文本,但未启用按钮。

我正在使用asyncfileupload控件的客户端事件,如下所示:

function UploadComplete(sender, args) {
    var filename = args.get_fileName();
    var contentType = args.get_contentType();
    var text = "Size of " + filename + " is " + args.get_length() + " bytes";
    if (contentType.length > 0) {
        text += " and content type is '" + contentType + "'.";
    }
    document.getElementById('<%= lblStatus.ClientID %>').innerText = text;
}

所有标签,按钮和文件上传控件都在updatepanel之外。我尝试将控件放在updatepanel中,但结果相同。

请求解决方案

2 个答案:

答案 0 :(得分:2)

是Asyncfileupload。它以异步方式工作。所以你发送文件到codebehind。它会让你结果。没有视图状态,没有回发,没有HTML渲染。

因此您无法更改标签或按钮。如果需要,请使用正常的fileupload。或者在客户端做你的工作..

答案 1 :(得分:0)

我有一个类似的问题..你不能设置可见的真或假,但你可以设置它的风格..这是我做的..

function OnClientAsyncFileUploadComplete(sender, args) {            
        //similar to visible = false;
        document.getElementById('<%=lbl_Lable1.ClientID%>').style.display = 'none'; 

        //similar to visible = true;
        document.getElementById('<%=lbl_Lable2.ClientID%>').style.display = 'inline';

        return true;
    }

对不起,我在标签中设置文本方面没什么帮助,因为我在标签中预先定义了文本,但是你总是可以将你的innertext或innerhtml代码与它合并..