我需要这个asp:TableRow有条件地显示。
<asp:TableRow>
<asp:TableCell><asp:Label id="ExtraAmountType" runat="server" Width="182px"></asp:Label></asp:TableCell>
<asp:TableCell Width="10%" HorizontalAlign="Right">$ <asp:textbox id="MembershipDues" runat="server" Wrap="False" BackColor="#FFFF80" AutoPostBack="True" Width="31px" MaxLength="3" ontextchanged="MembershipDues_TextChanged"></asp:textbox></asp:TableCell>
</asp:TableRow>
我该怎么做?我把它包裹在
中<asp:PlaceHolder ID="memberdues" runat="server">
标签,但它抱怨:
错误12 System.Web.UI.WebControls.TableRowCollection必须包含'System.Web.UI.WebControls.TableRow'类型的项目。 'asp:PlaceHolder'的类型为'System.Web.UI.WebControls.PlaceHolder'。
我需要有条件地显示这一行。
我在Page_Load中执行此操作:
memberdues.Visible = false;
if (DuesInfo.CredentialsAmount > 0)
{
// do some other stuff to populate the variables in the placeholder then show it
memberdues.Visible = true;
}
答案 0 :(得分:2)
给它一个ID并将其runat设置为server,然后你可以从后面的代码中访问它。
<asp:TableRow runat="server" ID="rowExtraAmountType">
现在它可以从后面的事件中访问:
rowExtraAmountType.Visible = (conditional expression);
编辑:下面显示的是您的问题编辑
<asp:TableRow runat="server" ID="memberdues">
然后是背后的代码:
memberdues.Visible = (DuesInfo.CredentialsAmount > 0);