UpdateProgress的显示有几种注意情况:
1、 如果UpdateProgress 在 UpdatePanel的<ContentTemplate> 中,则会显示UpdateProgress中的提示信息。
2、 如果UpdateProgress在 UpdatePanel的<ContentTemplate> 外,则需要指定AssociatedUpdatePanelID属性,但还有一个前提就是触发事件的Button控件必须在UpdatePanel的<ContentTemplate> 中,否则就得用第三步骤解决。
3、 如果触发事件的Button控件和UpdateProgress都在UpdatePanel的<ContentTemplate> 外的话,除了要指定AssociatedUpdatePanelID属性的UpdatePanel的ID外还要将如下代码加入页面中,例如:
View Code
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Event"/>
</Triggers>
<script language="JavaScript" type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
var postBackElement;
function InitializeRequest(sender, args)
{
if (prm.get_isInAsyncPostBack())
args.set_cancel(true);
postBackElement = args.get_postBackElement();
if (postBackElement.id == 'Button1')
$get('UpdateProgress1').style.display = 'block';
}
function EndRequest(sender, args)
{
if (postBackElement.id == 'Button1')
$get('UpdateProgress1').style.display = 'none';
}
</script>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Event"/>
</Triggers>
<script language="JavaScript" type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
var postBackElement;
function InitializeRequest(sender, args)
{
if (prm.get_isInAsyncPostBack())
args.set_cancel(true);
postBackElement = args.get_postBackElement();
if (postBackElement.id == 'Button1')
$get('UpdateProgress1').style.display = 'block';
}
function EndRequest(sender, args)
{
if (postBackElement.id == 'Button1')
$get('UpdateProgress1').style.display = 'none';
}
</script>
整理转载自:http://www.cnblogs.com/wangduck/archive/2008/11/17/associatedupdatepanelid.html