0

我有一个带有 TabContainer 的 UpdatePanel。每个 TabPanel 中都有一个 Gridview(代码不包括在内,因为它不重要),我希望每个 TabPanel 中都有不同的 UpdateProgress 控件。请参阅下面的代码以获取我正在尝试做的示例。

我知道标准方法是将 UpdateProgress 控件定位在 UpdatePanel 之外,但我希望它/它们位于 UpdatePanel 和 TabContainer 内,因为我希望“正在加载...”消息出现在每个控件的顶部我的网格视图。目前,UpdateProgress 控件适用于第一个 TabPanel(如下面的代码所示),但不适用于第二个或任何后续 TabPanel。

<asp:UpdatePanel ID="updTest" runat="server">
<ContentTemplate>
    <ajax:TabContainer ID="conTest" runat="server">
        <ajax:TabPanel ID="pnlTest1" runat="server">
            <!--This UpdateProgress Control Does work-->
            <asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="updTest">
                <ProgressTemplate>
                    Loading, please wait....
                </ProgressTemplate>
            </asp:UpdateProgress>
        </ajax:TabPanel>
        <ajax:TabPanel  ID="pnlTest1" runat="server">
            <!--This UpdateProgress Control Doesn't work. How can I fix it?-->
            <asp:UpdateProgress ID="UpdateProgress2" runat="server" AssociatedUpdatePanelID="updTest">
                <ProgressTemplate>
                    Loading, please wait....
                </ProgressTemplate>
            </asp:UpdateProgress>
        </ajax:TabPanel>
    </ajax:TabContainer>
</ContentTemplate>

如果我试图实现这一点的方式不是最好的方式,我愿意接受另一种方法。感谢您的任何想法。

4

1 回答 1

1

您可以做的仍然是只有一个 updateprogress,但在您放置一个 updatepanel 来更改您的 updateProgress 显示的内容。

像这样的东西

<asp:UpdateProgress ID="UpdateProgress1" runat="server" DynamicLayout="true">
<ProgressTemplate>
    <asp:UpdatePanel ID="up1" runat="server" >
        <ContentTemplate>
        <!-- put a label of something in here -->

        </ContentTemplate>
    </asp:UpdatePanel>
</ProgressTemplate>
</asp:UpdateProgress>

希望这是有道理的,有时我不是最擅长解释的。

于 2012-06-21T15:23:02.050 回答