簡體   English   中英

第二次單擊同一按鈕時未出現UpdateProgress

[英]UpdateProgress not appearing on second click of same button

當我單擊按鈕btnSubmit時,UpdateProgress第一次出現。 但是當我下次單擊同一按鈕時,UpdateProgress不會出現。 但是所有其他事情都運作良好。 我正在使用此UpdateProgress在將電子郵件發送給客戶端時顯示GIF圖像。 對於第一個客戶端,UpdateProgress出現,而對於第二個客戶端,n而不顯示UpdateProgress。 請幫助我問這個問題第二次在堆棧溢出

下面的代碼顯示了我的UpdateProgress

 <asp:UpdatePanel ID="up1" runat="server">
        <ContentTemplate>
            <asp:UpdateProgress ID="updProgress"
                runat="server">
                <ProgressTemplate>
                    <div class="modal">
                        <div class="center">
                            <span style="padding-left: 10px"><b>Please Wait..</b></span>
                            <img alt="" src="../images/Preloader_3.gif" width="50" height="50" />
                        </div>
                    </div>
                </ProgressTemplate>
            </asp:UpdateProgress>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="btnSubmit" EventName="Click" />
        </Triggers>
    </asp:UpdatePanel>

下面的代碼顯示了觸發UpdateProgress的我的按鈕

 <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <Triggers>
    <asp:AsyncPostBackTrigger ControlID="btnSubmit" EventName="Click" />
    </Triggers>
    <ContentTemplate>
    <div class="form-group row">
        <div class="col-sm-6">
            <div class="col-sm-6">
                <asp:Button ID="btnSubmit" OnClick="btnSubmit_Click"
                    OnClientClick="javascript:return btnSubmit();" CssClass="btn btn-primary"
                    runat="server" Text="Submit" />
                <a href="assignment.aspx?sid=<%=Request.QueryString["sid"] %>" class="btn btn-default">Cancel</a>
            </div>
        </div>
    </div>
    </ContentTemplate>
    </asp:UpdatePanel>

CS背后的代碼

 protected void btnSubmit_Click(object sender, EventArgs e)
    {
        updProgress.Visible = true;
        SendEmail(Convert.ToInt32(drpDiv.Text));
        updProgress.Visible = false;
    }

您必須將更新進度放置在更新面板之外,並與更新進度相關聯。 您可以創建另一個更新面板,以使用自動回發true觸發按鈕。

<asp:UpdateProgress ID="UpdateProgress1" runat="server" 
                    AssociatedUpdatePanelID="UpdatePanel1">
<ProgressTemplate>
    <!-- Place your Message here -->
</ProgressTemplate>
</asp:UpdateProgress>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Button ID="btnSubmit" OnClick="btnSubmit_Click" runat="server" 
                    AutoPostBack="true" />
    </ContentTemplate>
</asp:UpdatePanel>

<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
    <!-- You can put some controls here -->
</ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnSubmit" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>

或者,第二種方法是:

<asp:UpdateProgress ID="UpdateProgress1" runat="server" 
                    AssociatedUpdatePanelID="UpdatePanel1">
    <ProgressTemplate>
        <!-- Place your Message here -->
    </ProgressTemplate>
</asp:UpdateProgress>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Button ID="btnSubmit" OnClick="btnSubmit_Click" runat="server" 
                    AutoPostBack="true" />
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnSubmit" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM