1

我在我的 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;
}

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

请提出解决方案

4

2 回答 2

2

它是异步文件上传。它异步工作。因此,您将文件发送到代码隐藏。它变成了你的结果。没有视图状态,没有回发,没有 html 渲染。

所以你不能改变标签或按钮。如果你想要这个,使用普通的文件上传。或者在客户端做你的工作..

于 2012-06-21T15:26:46.113 回答
0

I had a similar problem once .. You can not set visible to true or false but you can set its style .. Here is what I did ..

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;
    }

I am sorry I wont be of much help on setting text in label as I had predefined text in label but you can always merge your innertext or innerhtml code with it ..

于 2013-12-05T08:50:51.967 回答