Ton*_*ony 2 asp.net asp.net-ajax updateprogress
UpdateProgress
当用户点击"下一步"按钮转到下一页时,我想在页面A上显示.下一页是页面B,其中包含大量数据.
单击该按钮时,它不会显示UpdateProgress
.
此代码中缺少什么,以及如何显示?
<asp:UpdateProgress ID="UpdateProgress1" runat="Server" AssociatedUpdatePanelID="UpdatePanel1">
<ProgressTemplate >
Please wait ...
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnNext" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:Button ID="btnCancel" runat="server" TabIndex="1" Text="Cancel"onclick="btnCancel_Click" />
<asp:Button ID="btnNext" runat="server" TabIndex="2" Text="Next" onclick="btnNext_Click" />
</ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
要尝试的几件事:
1) 将UpdateProgress控件移动到 UpdatePanel 中
2)从UpdateProgress标签中删除AssociatedUpdatePanelID属性
我依靠选项 1 来解决问题。
编辑
这是一种非 ProgressTemplate 方式,使用客户端事件处理程序:
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args)
{
// some code to show image, e.g:
document.getElementById('somedivwhichasimage').className = 'show';
}
function EndRequestHandler(sender, args)
{
// some code to hide image, e.g:
document.getElementById('somedivwhichasimage').className = 'hidden';
}
</script>
Run Code Online (Sandbox Code Playgroud)
尝试设置DisplayAfter
为非常小的值以立即显示进度指示器,例如:
<asp:UpdateProgress ID="UpdateProgress1" runat="Server" AssociatedUpdatePanelID="UpdatePanel1" DisplayAfter="1">
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
21975 次 |
最近记录: |