チェックボックスがクリックされたときに、ASP.NETAJAXを介してTableRowを非表示/再表示したいと思います。
チェックボックスに次のコードがあります。
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:CheckBox runat="server" ID="cbViewPages" Checked="true" OnCheckedChanged="OnViewPages" AutoPostBack="true"/>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="cbViewPages" EventName="CheckedChanged"/>
</Triggers>
</asp:UpdatePanel>
そしてこれはTableRowの場合
<asp:TableRow runat="server" ID="PagesRow">
<asp:TableCell VerticalAlign="Middle">Test Row</asp:TableCell>
</asp:TableRow>
このメソッドは、チェックボックスがクリックされたときに呼び出されます。
protected void OnViewPages(object sender, EventArgs e)
{
if(cbViewPages.Checked)
{
PagesRow.Visible = true;
}
else
{
PagesRow.Visible = false;
}
}
OnViewPagesは間違いなく呼び出されますが、デバッガーで確認できます。また、AJAXコードを削除すると、必要に応じてOnViewPagesが非表示/非表示になります。
この非表示/再表示機能がAJAXコードで機能しないのはなぜですか?
ドー!部分的な答えがあります。TableRowは[更新]パネルにありません。ただし、TableRowの周りにUpdatePanelを配置することはできません。これが私の新しい質問です。TableRowの周りにUpdatePanelをどのように配置しますか?