在asp.net中有没有替代方案?

时间:2011-07-26 15:29:02

标签: c# asp.net html

我试图只在有文字时才显示lblName1和lblName2。即使我没有lblName2的任何值,休息仍然有影响。如果有任何其他方式显示
有条件显示

,有人可以建议我
<asp:Label ID="lblName1" runat="server" Visible= "false" ></asp:Label> <br />
<asp:Label ID="lblName2" runat="server" Visible= "false">  </asp:Label>

提前致谢..

5 个答案:

答案 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/