3

我想使用AjaxFileUpload控件上传文件。这很好用。问题是我无法在Label上传的文件上显示成功/失败消息。

.aspx 代码..

<form id="form1" runat="server">
    <div>
    <div></div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel2" runat="server">
            <ContentTemplate>
                <asp:Label runat="server" ID="myThrobber" Style="display: none;"><img align="absmiddle" alt="" src="images/uploading.gif"/></asp:Label>
                <asp:AjaxFileUpload ID="AjaxFileUpload1" 
                    runat="server" 
                    OnUploadComplete="AjaxFileUpload1_UploadComplete" 
                    OnClientUploadError="uploadError" 
                    OnClientUploadComplete="uploadComplete"
                    ThrobberID="myThrobber"
                    MaximumNumberOfFiles="1"
                    AllowedFileTypes="" 
                    class="name_text1" 
                    Width="200px" />
                <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
                <asp:Button ID="BtnClose" runat="server" Text="Close" 
                   onclick="BtnClose_Click" OnClientClick="Closepopup()"/>

                <asp:Label ID="Label2" runat="server" Text=""></asp:Label>

                <br />
            </ContentTemplate>
        </asp:UpdatePanel>

    </div>
    </form>

我想在 Label2 上显示该文件是否上传的文本。我的 .cs 代码:

protected void AjaxFileUpload1_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
    {
 string message = "Storege Space is Exceeding its Limit";
                    Label2.Text = message;
}

如何在上面显示消息Label?有什么建议吗?帮助表示赞赏

4

3 回答 3

0
function ReBindMaterialsGrid() {
    if (rebindTimer == null) {
        SetRebindTimeout();
    } else {
        clearTimeout(rebindTimer);
        SetRebindTimeout();
    }
}
function SetRebindTimeout() {
    rebindTimer = setTimeout(
        'var btn = document.getElementById("MainContent_AdminTabs_TabContainerMain_TabPanelMaterials_Materials_btnReBindGrid");' +
        'btn.click();', 8888);
}

                                                       <asp:UpdatePanel ID="UpdatePanelUpload" runat="server">
                                                        <ContentTemplate>
                                                            <asp:Label runat="server" ID="lblThrobber" Style="display: none;">
                                                    <img src="../../Images/loading.gif" alt="Loading..." />
                                                            </asp:Label>
                                                            <asp:HiddenField ID="hdStitchAssetPathUpload" Value='<%# Eval("StitchAssetPath") %>'
                                                                runat="server" />
                                                            <asp:AjaxFileUpload ID="AjaxFileUploadPlank" ThrobberID="lblThrobber" runat="server"
                                                                OnUploadComplete="AjaxFileUploadPlank_UploadComplete" OnClientUploadComplete="ReBindMaterialsGrid" />
                                                        </ContentTemplate>
                                                    </asp:UpdatePanel>
于 2013-02-07T22:21:17.127 回答
0

最新版本的ajax文件上传自带更新进度。所以如果你使用它,你不必贴标签来显示失败/成功文本。有关更多信息和演示,请参阅此页面:http ://stephenwalther.com/archive/2012/05/01/ajax-control-toolkit-may-2012-release.aspx

于 2013-01-03T18:15:31.223 回答
0

这可能是由于更新面板的问题,

您已将 AjaxFileUpload 放在更新面板中,因此当您的标签在 AjaxFileUpload1_UploadComplete 事件中填充文本时,更新面板控件不会更新所有控件。

所以请在删除更新面板或设置更新面板的属性 UpdateMode="Conditional" 后尝试。

希望这将有助于解决您的问题。

于 2013-01-03T05:26:31.750 回答