如何在if语句中嵌入div

时间:2011-11-15 11:41:16

标签: asp.net asp.net-mvc-3 razor if-statement

我想做出类似的事情:

     @if ( some-statement )
     {
        <div class="row-link">
     }
     else
     {
        <div class="row">
     }
     <div class="new">some content</div>
     </div>

但编译器一直告诉我if没有关闭字符! 怎么了? 谢谢!

4 个答案:

答案 0 :(得分:4)

我不熟练使用c#,但为什么不使用变量来保存类名呢?

@string classname;
@if ( some-statement ) { 
    classname = "row-link";
} else {
    classname = "row";
}
<div class="@classname">
    <div class="new">some content</div>
</div>

或者您可以使用辅助函数。它让你的html更清洁。

答案 1 :(得分:2)

使用<text>

@if ( some-statement)
 {
    <text>
    <div class="row-link">
    </text>
 }
 else
 {
    <text>
    <div class="row">
    </text>
 }
 <div class="new">some content</div>
 </div>

并查看

http://weblogs.asp.net/scottgu/archive/2010/12/15/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax.aspx

希望这会有所帮助

答案 2 :(得分:1)

@if ( some-statement )
{
   @:<div class="row-link">
}
else
{
   @:<div class="row">
}
<div class="new">some content</div>
</div>

答案 3 :(得分:0)

您可以考虑关闭<div>并删除您的公共结束</div>

 @if ( some-statement )
 {
    <div class="row-link"></div>
 }
 else
 {
    <div class="row"></div>
 }
 <div class="new">some content</div>