Asp.net Space被自动生成为html Div

时间:2016-01-14 09:33:37

标签: c# html asp.net asp.net-mvc-5

我是Asp.Net的新手,我在使用布局时遇到了问题。我有一个div,里面是一个p标签,取决于嵌入的c#flip是真还是假我希望它是一个空的p标签或带有内容的p标签。

问题:当div标签内没有任何内容时会发生这种情况。它会产生很多空间,阻止我使用:empty css标签,因为里面有技术内容。

我的代码是这样的:

<div>
    @if (flip = true){
     <p>text</p>
    }
    else{}
</div>

enter image description here

1 个答案:

答案 0 :(得分:1)

尝试使用Razor的“文字”标签之一(如此处所述:How to use Razor like asp:Literal?):

<div>@Html.Raw(flip ? "<p>text</p>" : "")</div>

并确保将<div>保留在一行。

使用与@:类似的语法可能有更好的方法,但我无法回想起手边的语法。

更新:如果您要在div 中添加大量内容,那么您只关心css :empty选择器,你可能最好只为div添加一个专门的类(如下所述:How to use ? : if statements with Razor and inline code blocks):

<div class="col-md-12 game @(flip ? "" : "empty")">

然后您可以使用您已经使用的语法(@if(flip){}