asp.net 中的不可见控件占用 asp.net 中的 space
invisible controls in asp.net takes up space in asp.net
我有一个 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>
当用户从 DropDownList
中选择状态更改时,我将使 Label
和 TextBox
的交付状态可见。但问题是 Label
和 TextBox
传递状态是不可见的,它们仍然在可见控件之间的页面上占用了一些 space。
如何删除 space 不可见控件?
您应该使用 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。
您可以使用控件的可见属性。
隐藏:
Control.Visibile=false;
随时显示
Control.Visible=true;
在您 control.Visible = false 之后仍然显示白色 space 的原因是因为 "br" 换行标记仍然存在。用你的按钮标签包裹它们并隐藏它们以真正去除白色 space.
我有一个 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>
当用户从 DropDownList
中选择状态更改时,我将使 Label
和 TextBox
的交付状态可见。但问题是 Label
和 TextBox
传递状态是不可见的,它们仍然在可见控件之间的页面上占用了一些 space。
如何删除 space 不可见控件?
您应该使用 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。
您可以使用控件的可见属性。 隐藏:
Control.Visibile=false;
随时显示
Control.Visible=true;
在您 control.Visible = false 之后仍然显示白色 space 的原因是因为 "br" 换行标记仍然存在。用你的按钮标签包裹它们并隐藏它们以真正去除白色 space.