我试图只在有文字时才显示lblName1和lblName2。即使我没有lblName2的任何值,休息仍然有影响。如果有任何其他方式显示
有条件显示
<asp:Label ID="lblName1" runat="server" Visible= "false" ></asp:Label> <br />
<asp:Label ID="lblName2" runat="server" Visible= "false"> </asp:Label>
提前致谢..
答案 0 :(得分:5)
为标签指定一个CSS类名称并设置该类的边距:
<asp:Label ID="lblName1" CssClass="Testing123" runat="server" Visible= "false" ></asp:Label> <br />
.Testing123{ margin-bottom: 20px; }
如果未渲染Label,则不会创建间隙。
答案 1 :(得分:2)
您可以考虑添加一个文件来处理br,这样可以发挥其可见性:
<asp:Literal runat=server Id=C_lit_Br><br /></asp:Literal>
在你的代码隐藏中:
if (!lblName2.Visible)
C_lit_Br.Visible=false;
这是一个快速补丁,但它应该有用。
答案 2 :(得分:0)
在这种情况下最好使用文字:
在文字文本中你也写了html
答案 3 :(得分:0)
将标签包装在 p 标签中:
<p><label1></p>
<p><label2></p>
答案 4 :(得分:0)
使用您拥有的内容并忽略使用更改后面的任何代码,您可以使用某些css在不使用<br />
标记的情况下提供中断。
据此,我的意思是,如果您要将<label>
控件赋予css类class="labelStyle
.labelStyle{
float: left;
clear: left;
}
您制作的html看起来像
<span class="labelStyle">Some Text</span><span class="labelStyle">More Text</span>
如果标签中没有值,那么你的html将包含两个空的span标签。
这会将第二个标签移到下一行。但是,这可能不适合您的其他html,并且因为您是浮动元素,那么您的整体布局可能会中断。
这里有一个例子http://jsfiddle.net/2v93f/