设置AssociatedUpdatePanelID时Updateprogessbar不起作用?

时间:2009-07-27 12:40:03

标签: c# asp.net ajax progress-bar updateprogress

我在页面上有两个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

2 个答案:

答案 0 :(得分:3)

Excellant文章:以非常简单的方式解释每件事..........
http://www.codedigest.com/Articles/ASPNETAJAX/125_Using_UpdateProgress_Control_Effectively.aspx

按设计UpdatePanel的外部触发器不会触发关联的UpdateProgress,因为启用UpdateProgress控件的实现会在控件层次结构中搜索调用控件;外部触发器不会出现在控制层次结构中。

答案 1 :(得分:0)

如果触发UpdatePanel的事件也是外部的,则UpdateProgress控件中的AssociatedUpdatePanelID属性将不起作用。