UpdateProgress的AssociatedUpdatePanelID属性

本文介绍如何在ASP.NET AJAX中使用UpdateProgress组件显示加载进度,并探讨当按钮位于UpdatePanel之外时,如何通过PageRequestManager来实现进度指示的显示与隐藏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ContractedBlock.gif ExpandedBlockStart.gif Code
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><asp:UpdatePanelID="UpdatePanel1"runat="server"UpdateMode="Conditional">
<ContentTemplate>
<%=DateTime.Now%><asp:ButtonID="Button1"runat="server"Text="Button"OnClick="Button1_Click"/>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTriggerControlID="Button1"/>
</Triggers>
</asp:UpdatePanel>

<asp:UpdateProgressID="UpdateProgress1"runat="server"AssociatedUpdatePanelID="UpdatePanel1">
<ProgressTemplate>
<span>123</span>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanelID="UpdatePanel2"runat="server"UpdateMode="Conditional">
<ContentTemplate>
<%=DateTime.Now%><asp:ButtonID="Button2"runat="server"Text="Button"OnClick="Button1_Click"/>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTriggerControlID="Button2"/>
</Triggers>
</asp:UpdatePanel>

<asp:UpdateProgressID="UpdateProgress2"runat="server"AssociatedUpdatePanelID="UpdatePanel2">
<ProgressTemplate>
<span>321</span>
</ProgressTemplate>
</asp:UpdateProgress>

上面的代码是实现,点击Button1显示123 ,点击Button2显示321,

关键点在于 Button位置,如果Button在<ContentTemplate>中,则UpdateProgress中的内容可 以显示,如果说Button的位置在<ContentTemplate>外,既UpdatePanel的外部的话, UpdateProgress中的内容就不会显示了!

方法二:

如果Button的位置必需在UpdatePanel的外部的话,就得运用PageRequestManager中的initializeRequest事件和endRequest事件,代码如下:

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><Triggers>
<asp:AsyncPostBackTriggerControlID="Button1"EventName="Event"/>
</Triggers>

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->varprm=Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
varpostBackElement;
functionInitializeRequest(sender,args)
{
if(prm.get_isInAsyncPostBack())
args.set_cancel(
true);
postBackElement
=args.get_postBackElement();

if(postBackElement.id=='Button1')
$get(
'UpdateProgress1').style.display='block';
}
functionEndRequest(sender,args)
{
if(postBackElement.id=='Button1')
$get(
'UpdateProgress1').style.display='none';
}

原文:

http://www.codeproject.com/KB/ajax/UpdateProgress.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值