我有一个带有TabContainer的UpdatePanel。每个TabPanel都有一个Gridview(代码不包括,因为它并不重要),我想在每个TabPanel中有一个不同的UpdateProgress控件。请参阅下面的代码,了解我正在尝试做的事情。
我知道标准方法是在UpdatePanel之外找到UpdateProgress控件,但是我希望它/它们位于UpdatePanel和TabContainer中,因为我希望“Loading ...”消息显示在顶部我的每个GridViews。目前,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>
如果我想要实现这一目标的方式不是最好的方式,我会接受另一种方法。谢谢你的任何想法。
答案 0 :(得分:1)
你可以做的仍然只有一个updateprogress,但在你的put一个更新面板里面改变你的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>
希望这是有道理的,有时候我不是最好的解释。