在MVC视图中使用开关盒

问题描述 投票:12回答:4

在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剃刀视图。

感谢您的时间。

c# asp.net-mvc asp.net-mvc-4 razor
4个回答
22
投票

很简单,您使用与此相同的代码,就可以了。

@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
投票

这应该起作用。

@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
投票
Switch (condition)
{
Case value or result :
Statement 
Break;
Default:

}

0
投票

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

您可以使用@:打印它们。示例:

<div class="alert @switch(state){
   case State.OK:
   @:alert-success
   case State.ERROR:
   @:alert-danger
   case State.RUNNING:
   @:alert-info
}">...</div>
© www.soinside.com 2019 - 2024. All rights reserved.