UpdateProgress 未出现在第二次单击同一按钮时
UpdateProgress not appearing on second click of same button
UpdateProgress 第一次出现,当我点击 btnSubmit 按钮时。但是当我下次单击相同的按钮时,UpdateProgress 没有出现。但所有其他事情都运作良好。我正在使用此 UpdateProgress 在向客户端发送电子邮件时显示 GIF 图像。对于第一个客户端 UpdateProgress 出现,但对于其他 'n' UpdateProgress 没有出现。请帮助我在 Stack Overflow 中第二次问这个问题
下面的代码显示了我的更新进度
<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;
}
您必须将您的更新进度放在更新面板之外,并与更新进度相关联。您可以创建另一个更新面板来触发您的按钮,自动 post 返回 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>
UpdateProgress 第一次出现,当我点击 btnSubmit 按钮时。但是当我下次单击相同的按钮时,UpdateProgress 没有出现。但所有其他事情都运作良好。我正在使用此 UpdateProgress 在向客户端发送电子邮件时显示 GIF 图像。对于第一个客户端 UpdateProgress 出现,但对于其他 'n' UpdateProgress 没有出现。请帮助我在 Stack Overflow 中第二次问这个问题
下面的代码显示了我的更新进度
<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;
}
您必须将您的更新进度放在更新面板之外,并与更新进度相关联。您可以创建另一个更新面板来触发您的按钮,自动 post 返回 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>