我在页面上有两个updatepanel和一个进度条。如果我设置了AssociatedUpdatePanelID,那么进度条不起作用,没有设置AssociatedUpdatePanelID进度条正在工作,但问题是对两个updatepanel都有效。但我需要在一个更新面板上工作。
<asp:Button ID="Button1" runat="server" Text="Button1" OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="Button2" OnClick="Button2_Click" />
<asp:UpdateProgress runat="server" ID="prg" AssociatedUpdatePanelID="upnl">
<ProgressTemplate>
<img src="Images/progressbar.gif" />
</ProgressTemplate>
</asp:UpdateProgress>
<br />
<asp:UpdatePanel runat="server" ID="upnl" UpdateMode="Conditional">
<ContentTemplate>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="upnl1" UpdateMode="Conditional">
<ContentTemplate>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
代码背后 - C#
protected void Button1_Click(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(3000);
}
protected void Button2_Click(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(3000);
}
在此视频中,他还没有设置AssociatedUpdatePanelID http://www.asp.net/learn/ajax-videos/video-123.aspx
答案 0 :(得分:3)
Excellant文章:以非常简单的方式解释每件事..........
http://www.codedigest.com/Articles/ASPNETAJAX/125_Using_UpdateProgress_Control_Effectively.aspx
按设计UpdatePanel的外部触发器不会触发关联的UpdateProgress,因为启用UpdateProgress控件的实现会在控件层次结构中搜索调用控件;外部触发器不会出现在控制层次结构中。
答案 1 :(得分:0)
如果触发UpdatePanel的事件也是外部的,则UpdateProgress控件中的AssociatedUpdatePanelID属性将不起作用。