<ajaxToolkit:Accordion ID="Accordion1" CssClass="accordion" SelectedIndex="0" HeaderCssClass="accordionHeader" HeaderSelectedCssClass="accordionHeaderSelected" AutoSize="None" RequireOpenedPane="false" ContentCssClass="accordionContent" runat="server">
<Panes>
<ajaxToolkit:AccordionPane ID="Pane1" runat="server">
<Header><b>Panel 1</b></Header>
<Content>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<br>
Age: <asp:textbox id="Age1" runat="server" Width="35" Font-Bold="True"/><br>
Attorney: <asp:CheckBox ID="Attorney" runat="server" /><br>
<asp:button ID="Button1" text="Submit" OnClick="Button1_Click"
runat="server"/><br>
<asp:label id="Message1" runat="server" ForeColor="White" Font-Size="Small" Font-Bold="True"/>
</ContentTemplate>
</asp:UpdatePanel>
</Content>
</ajaxToolkit:AccordionPane>
<ajaxToolkit:AccordionPane ID="Pane2" runat="server">
<Header><b>Panel 2</b></Header>
<Content>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<br>
<asp:textbox id="Age2" runat="server" Width="35" Font-Bold="True"/><br>
<asp:button ID="Button2" text="Submit" onclick="Button2_Click"
runat="server"/><br><br>
<asp:label id="Message2" runat="server" ForeColor="White" Font-Size="Small" Font-Bold="True" />
</ContentTemplate>
</asp:UpdatePanel>
</Content>
</ajaxToolkit:AccordionPane>
</Panes>
protected void Button1_Click(object sender, EventArgs e) {
if (Attorney.Checked) {
Pane2.Visible = true;
} else {
Pane2.Visible = false;
}
//Message1.Text = Age1.Text;
}
私は 5 つのアコーディオン パネルを持っています。最後のパネルは、最初のパネルでチェックボックスがオンになっている場合にのみ表示されます。各アコーディオン パネル内には UpdatePanel があり、その中にはそのアコーディオン パネルに固有のコントロールと送信ボタンを含む ContentTemplate があります。UpdatePanel を追加した理由は、特定のパネルを更新するときに、他のアコーディオン パネルに影響を与えないようにするためです。
問題は、最初のパネルでチェックボックスがオンになっていて送信ボタンがクリックされているかどうかに応じて、最後のアコーディオン パネルの表示を切り替える必要があることです。コード ビハインドでは、btnSubmit1 イベントで...チェックボックスがチェックされているかどうかを示すコードがあります....Pane2.Visible = true それ以外の場合、Pane2.Visible=false. 何らかの理由で、まだ LastPanel が表示されます。
どこが間違っているのかわかりません...アドバイスしてください!
ありがとう!ジニ