我想在用户单击“下一步”按钮转到下一页时在页面A上显示UpdateProgress。下一个页面是页面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>发布于 2010-11-02 22:50:13
尝试将DisplayAfter设置为一个非常小的值,以使进度指示器立即出现,例如:
<asp:UpdateProgress ID="UpdateProgress1" runat="Server" AssociatedUpdatePanelID="UpdatePanel1" DisplayAfter="1">发布于 2010-11-02 06:05:54
可以尝试的几件事:
1)在UpdatePanel中移动UpdateProgress控件
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>发布于 2010-11-02 06:25:40
将此代码添加到此页面的代码后面。
protected void btnNext_Click(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(3000);
}希望这能有所帮助!!
编辑:点击此链接:http://msdn.microsoft.com/en-us/library/bb386421.aspx
添加来自aspx页面的代码,我尝试过并且正在工作。
<asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager>
<asp:UpdateProgress ID="UpdateProgress1" runat="Server" AssociatedUpdatePanelID="UpdatePanel1">
<ProgressTemplate >
<asp:Label ID="lblwait" runat="server" Text="Please wait.."></asp:Label>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:Button ID="btnCancel" runat="server" TabIndex="1" Text="Cancel" />
<asp:Button ID="Button1" runat="server" TabIndex="2" Text="Next" onclick="Button1_Click" />
</ContentTemplate>
</asp:UpdatePanel> https://stackoverflow.com/questions/4073444
复制相似问题