在MVC视图中使用switch case

时间:2014-01-17 14:16:58

标签: c# asp.net-mvc asp.net-mvc-4 razor

在MVC视图中,我有一个'for'命令,在每个值中我想写指定的标记。

我在这里向您展示一个简单的案例:

@for (var i = 0; i < 4; i++)
{
    <div>
        @(switch (i)
        {
            case 0: ??? //write "<div>Custom Value 1</div>"
                     break;
            case 1: ??? //write "<span>Custom Value 2</span>"
                     break;
        })
    </div>
}

我使用MVC4 Razor视图。

感谢您的提前时间。

4 个答案:

答案 0 :(得分:17)

很简单,你使用与此相同的代码,它运行正常。

@for (var i = 0; i < 4; i++)
{
    <div>
        @switch (i)
        {
            case 0: 
                     <div>Custom Value 1</div>
                     break;
            case 1: 
                     <span>Custom Value 2</span>
                     break;
        }
    </div>
}

答案 1 :(得分:2)

这应该有用。

@for (var i = 0; i < 4; i++)
{
    <div>
        @switch (i)
        {
            case 0: 
                     <div>Custom Value 1</div>
                     break;
            case 1: 
                     <span>Custom Value 2</span>
                     break;
        }
    </div>
}

答案 2 :(得分:1)

Switch (condition)
{
Case value or result :
Statement 
Break;
Default:

}

答案 3 :(得分:0)

作为已接受答案的补充,如果要处理文字(例如,如果要动态设置类),则不能只在case语句中编写它们。

您可以使用 @:进行打印。 示例:

<div class="alert @switch(state){
   case State.OK:
   @:alert-success
   case State.ERROR:
   @:alert-danger
   case State.RUNNING:
   @:alert-info
}">...</div>