1

ここに私の問題があります:内部にasp:TextBoxとonTextChangedイベントがある更新パネルがあります。プロセス中、進行状況テンプレートのおかげでloader.gifが表示されます。

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
    <asp:TextBox ID="tboxEmailDegrade" runat="server" CssClass="cadreTexteRediger" MaxLength="250"
        AutoPostBack="True" OnTextChanged="tboxEmailDegradeOnTextChanged"></asp:TextBox>
    <asp:Image ID="imgVerifEmailFalse" runat="server" ImageUrl="../../Charte/images/Avis/Formulaire/ko.gif"
        Visible="false" style="margin-left: 4px"/>
    <asp:Image ID="imgVerifEmailTrue" runat="server" ImageUrl="../../Charte/images/check.png"
        Visible="false" style="margin-left: 4px"/>
    <input id="HidStatutValide" type="hidden" value="0" runat="server" />
    <asp:UpdateProgress ID="UpdateProgress1" runat="server">
        <ProgressTemplate>
            <img class="iconeValdation" runat="server" src="../../Charte/images/ajax-loader.gif" alt="Processing" style="margin-left: 4px; float:left" />
        </ProgressTemplate>
    </asp:UpdateProgress>
</ContentTemplate>
<Triggers>
    <asp:AsyncPostBackTrigger ControlID="tboxEmailDegrade" />
</Triggers>

そのプロセス中に別の画像(コードimgVerifEmailTrueまたはimgVerifEmailFalse)を非表示にしたいのですが、明らかに画像はプロセスの最後、ポストバック後にのみ非表示になります。だから私はローダーとその隣に別の画像を持っています。

プロセスの開始時に画像を非表示にするために部分的なポストバックを行うことは可能ですか?

4

1 に答える 1

1

これは、ASP.NETAJAXJavaScriptを使用して簡単に行うことができます。

Sys.WebForms.PageRequestManager.getInstance()。add_beginRequest(beginRequestHandler)でボタンを非
表示にし、Sys.WebForms.PageRequestManager.getInstance()。add_endRequest(endRequestHandler)イベントでそれぞれ表示します。

MSDNが指摘しているように、

Sys.WebForms.PageRequestManagerbeginRequestイベント

非同期ポストバックの処理が開始され、ポストバック要求がサーバーに送信される前に発生します。

Sys.WebForms.PageRequestManagerendRequestイベント

非同期ポストバックが終了し、制御がブラウザに戻された後に発生します。

于 2013-03-25T17:03:03.013 に答える