【发布时间】:2010-01-22 00:15:01
【问题描述】:
我希望在单击复选框时通过 ASP.NET AJAX 隐藏/取消隐藏 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?
【问题讨论】: