2009-10-20 9 views
6

私の子のUpdatePanelは、その内容と親のUpdatePanelの内容の両方を更新します。入れ子のUpdatePanelトリガー

<asp:UpdatePanel ID="UpdatePanel1" 
       runat="server"> 
    ... 
    <asp:UpdatePanel ID="UpdatePanel2" 
        runat="server"> 
     ... 
    </asp:UpdatePanel> 
    ... 
</asp:UpdatePanel> 

私の親UpdatePanelは、子が更新されるたびに更新されないようにします。

答えて

5

UpdatePanel.UpdateMode PropertyConditionalに設定します。

<asp:UpdatePanel ID="UpdatePanel1" 
       UpdateMode="Conditional" 
       runat="server"> 
    ... 
</asp:UpdatePanel> 

Project Cool

児童更新パネルのみその 内容をリフレッシュし、親更新のための 更新モードが パネルが条件に設定されていない、いない限り 親更新パネルのことをリフレッシュdoesntの

CodeClimber

条件に設定すると、 のUpdatePanelだけパネル 内部または は、指定されたトリガの制御によって発信 ポストバックに更新されます。したがって、複数の 更新パネルがあり、 時間ごとに更新するようにすべてを更新する場合は、 を更新しないでください。UpdateMode を条件に設定する必要があります。

6
<asp:UpdatePanel ID="UpdatePanel1" ChildrenAsTriggers="False" 
       UpdateMode="Conditional" 
       runat="server"> 

</asp:UpdatePanel> 
+0

これは実際の回答です – Fandango68

2

これは私がUpdatePanel2.Update()を呼び出し、UpdatePanel2は、データとコントロールの結合後の背後にあるコードで

<asp:UpdatePanel ID="UpdatePanel1" ChildrenAsTriggers="False" 
       UpdateMode="Conditional" runat="server"> 
    ... 
    <asp:UpdatePanel ID="UpdatePanel2" ChildrenAsTriggers="False" 
       UpdateMode="Conditional" runat="server"> 
     ... 
    </asp:UpdatePanel> 
    ... 
</asp:UpdatePanel> 

を行うものです。 Ajaxは、 "UpdatePanel2"のHTMLマークアップのみを更新します。

+0

コードビハインドで処理する必要はありません。最初のUpdatePanelで1つのみChildrenAsTriggers = falseで十分です。また、3つ以上のネストされたパネルをお持ちの場合はどうなりますか? – Fandango68

関連する問題