我有一大堆代码在页面加载时填充以下部分或全部标签。它应该每行有两个标签(每个xData标签后需要一个换行符)。我遇到的问题是,由于带有数据且设置为在页面加载时可见的标签数量发生变化,br /
标签会导致间距问题,而不是所有标签都可见。
<div id="Status">
<asp:Label ID="1" runat="server" Text="1:" Width="125px" Visible="false" />
<asp:Label ID="1Data" runat="server" Text="" Visible="false" />
<asp:Label ID="2" runat="server" Text="2:" Width="125px" Visible="false" />
<asp:Label ID="2Data" runat="server" Text="" Visible="false" />
<asp:Label ID="3" runat="server" Text="3:" Width="125px" Visible="false" />
<asp:Label ID="3Data" runat="server" Text="" Visible="false" />
</div>
我希望能够在标签填充并设置为可见时在后面的代码中的每个“xData”标签后添加换行符。
我尝试将"\n"
添加到标签文字和\或Environment.NewLine
但没有运气。
感谢您的帮助
答案 0 :(得分:2)
简单的方法......
<div id="Status">
<div id="Status1" runat="server" Visible="false">
<asp:Label ID="1" runat="server" Text="1:" Width="125px" />
<asp:Label ID="1Data" runat="server" Text="" />
</div>
<div id="Status2" runat="server" Visible="false">
<asp:Label ID="2" runat="server" Text="2:" Width="125px" />
<asp:Label ID="2Data" runat="server" Text="" />
</div>
<div id="Status3" runat="server" Visible="false">
<asp:Label ID="3" runat="server" Text="2:" Width="125px" />
<asp:Label ID="3Data" runat="server" Text="" />
</div>
</div>
正确的方式......
<div id="Status">
<asp:Label CssClass="statusLabel" ID="1" runat="server" Text="1:" Width="125px" Visible="false" />
<asp:Label ID="1Data" runat="server" Text="" Visible="false" />
<asp:Label CssClass="statusLabel" ID="2" runat="server" Text="2:" Width="125px" Visible="false" />
<asp:Label ID="2Data" runat="server" Text="" Visible="false" />
<asp:Label CssClass="statusLabel" ID="3" runat="server" Text="3:" Width="125px" Visible="false" />
<asp:Label ID="3Data" runat="server" Text="" Visible="false" />
</div>
/* CSS */
#Status span {
display: block;
}
#Status .statusLabel {
clear: both;
float: left;
}
答案 1 :(得分:1)
我认为你可以通过几种不同的方式做到这一点。
一个选项是@Greg在他对你的帖子的评论中指出的。
另一种可能的选择是将每个标签用<div>
标记在自己的runat="server"
标记中,然后在需要时使这些<div>
可见。由于<div>
<div>
应该创建自己的换行符
答案 2 :(得分:1)
asp:Label解析为html中的span。如果您希望每个人都有自己的行,请添加css样式“display:block”。通常,您可以通过设置CssClass并在该类中放置display:block
来完成此操作答案 3 :(得分:1)
如果你想这样,你需要对每个BR标签使用Literal控件,这样你就可以根据相应Label控件的可见性将它设置为可见/不可见。
答案 4 :(得分:1)
为什么不直接向这些标签添加带有display: block
规则的CSS类?
毕竟这是表现性的。
答案 5 :(得分:0)
尝试将标签包裹在<div>
周围,而不是在最后添加<br />
。根据我的经验,空<div>
不会创建那个空白区域。