0

TabContainerを含むUpdatePanelがあります。各TabPanelにはGridviewが含まれています(重要ではないためコードは含まれていません)。各TabPanelに異なるUpdateProgressコントロールを配置したいと思います。私がやろうとしていることの例については、以下の私のコードを参照してください。

標準的なアプローチはUpdatePanelの外側にUpdateProgressコントロールを配置することですが、「Loading ...」メッセージをそれぞれの真上に表示したいので、UpdatePanelとTabContainerの内側に配置したいと思います。私のGridViews。現在、UpdateProgressコントロールは最初のTabPanelで機能しますが(以下のコードで示されているように)、2番目以降の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 を 1 つだけ持つことですが、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 に答える