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.NET AJAX JavaScript 轻松完成此操作。

隐藏Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandler)中的按钮,并分别在Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler)事件中
再次显示它们。

正如 MSDN 所指出的,

Sys.WebForms.PageRequestManager beginRequest 事件

在异步回发处理开始并将回发请求发送到服务器之前引发。

Sys.WebForms.PageRequestManager endRequest 事件

在异步回发完成并将控制权返回给浏览器后引发。

于 2013-03-25T17:03:03.013 回答