我有一个ASP.NET
网络应用程序。我有一个TextBox
(txtProductName)和一个DropDownList
(ddlChanges)在页面加载时可见。还有一个TextBox
(txtDeliveryStatus)和Label
(lblDeliveryStatus)在页面加载时不可见。
<asp:TextBox ID="txtProductName" runat="server" CssClass="selectstyle" MaxLength="8" Width="60" />
<asp:Label ID="lblDeliveryStatus" runat="server" Style="visibility: hidden;">Delivery Status : </asp:Label>
<asp:TextBox ID="txtDeliveryStatus" runat="server" CssClass="selectstyle" Style="visibility: hidden;"/>
<asp:DropDownList runat="server" ID="ddlChanges" CssClass="selectstyle" onchange="javascript:ddlChangesChanged();">
<asp:ListItem Text="-- Select -- " Value="-1"></asp:ListItem>
<asp:ListItem Text="Status Change" Value="1"></asp:ListItem>
<asp:ListItem Text="Product Name Change" Value="2"></asp:ListItem>
<asp:ListItem Text="Category Change" Value="3"></asp:ListItem>
</asp:DropDownList>
当用户从Label
选择状态更改时,我会显示TextBox
和DropDownList
的投放状态。但问题是传递状态的Label
和TextBox
是不可见的,并且它们仍会在可见控件之间的页面上占用一些空间。
如何删除不可见控件的空间?
答案 0 :(得分:1)
控制后仍然显示空格的原因.Visible = false是因为剩下“br”newLine标记。用你的按钮标签包裹它们并隐藏它们以真正移除空白区域。
答案 1 :(得分:0)
您应该使用display
属性:
<asp:Label ID="lblDeliveryStatus" runat="server" Style="display: none;">Delivery Status : </asp:Label>
<asp:TextBox ID="txtDeliveryStatus" runat="server" CssClass="selectstyle" Style="display: none;"/>
为了完整起见,您可以查看link。
答案 2 :(得分:0)
您可以使用控件的可见属性。 隐藏:
Control.Visibile=false;
每当你想要显示
Control.Visible=true;