0

我需要这个 asp:TableRow 有条件地显示。

<asp:TableRow>
    <asp:TableCell><asp:Label id="ExtraAmountType" runat="server" Width="182px"></asp:Label></asp:TableCell>
    <asp:TableCell Width="10%" HorizontalAlign="Right">$&nbsp;<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; 
}
4

1 回答 1

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); 
于 2012-11-13T22:21:17.073 回答