Невозможно отобразить сообщение метки при успехе / неудаче AjaxFileUpload в ASP.NET

Я хочу загрузить файл, используя 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? Любое предложение? Помощь оценена

3 ответа

Последняя версия загрузки ajax-файла идет с обновлением. Поэтому, если вы используете его, вам не нужно ставить метку для отображения текста неудачи / успеха. Для получения дополнительной информации и демонстрации см. Эту страницу: http://stephenwalther.com/archive/2012/05/01/ajax-control-toolkit-may-2012-release.aspx

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>

Это может быть проблема из-за панели обновления,

Вы поместили AjaxFileUpload в панель обновления, поэтому элементы управления панели обновления не обновляют все элементы управления, когда ваша метка заполняется текстом в событии AjaxFileUpload1_UploadComplete.

Поэтому, пожалуйста, попробуйте после удаления панели обновления или установите свойство UpdateMode="Conditional" панели обновления.

Надеюсь, это поможет решить вашу проблему.

Другие вопросы по тегам