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

更新パネルが原因で問題が発生している可能性がありますが、

AjaxFileUploadを更新パネル内に配置したため、AjaxFileUpload1_UploadCompleteイベントでラベルがテキストでいっぱいになるたびに、更新パネルコントロールがすべてのコントロールを更新するわけではありません。

したがって、更新パネルを削除した後に試すか、更新パネルのプロパティUpdateMode="Conditional"を設定してください。

これがあなたの問題を解決するのに役立つことを願っています。

于 2013-01-03T05:26:31.750 に答える
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 に答える