【发布时间】:2021-11-12 10:34:19
【问题描述】:
@switch (orderStatus.OrderStatus)
{
case 1:
<div class="track">
<div class="step active"> <span class="icon"> <i class="fa fa-check"></i> </span> <span class="text">Orderd</span> </div>
<div class="step"> <span class="icon"> <i class="fa fa-user"></i> </span> <span class="text">Dispatched</span> </div>
<div class="step"> <span class="icon"> <i class="fa fa-truck"></i> </span> <span class="text"> On the way </span> </div>
<div class="step"> <span class="icon"> <i class="fa fa-box"></i> </span> <span class="text">Delivered</span> </div>
</div>
break;
case 2:
<div class="track">
<div class="step active"> <span class="icon"> <i class="fa fa-check"></i> </span> <span class="text">Orderd</span> </div>
<div class="step active"> <span class="icon"> <i class="fa fa-user"></i> </span> <span class="text">Dispatched</span> </div>
<div class="step"> <span class="icon"> <i class="fa fa-truck"></i> </span> <span class="text"> On the way</span> </div>
<div class="step"> <span class="icon"> <i class="fa fa-box"></i> </span> <span class="text">Delivered</span> </div>
</div>
break;
case 3:
<div class="track">
<div class="step active"> <span class="icon"> <i class="fa fa-check"></i> </span> <span class="text">Orderd</span> </div>
<div class="step active"> <span class="icon"> <i class="fa fa-user"></i> </span> <span class="text">Dispatched</span> </div>
<div class="step active"> <span class="icon"> <i class="fa fa-truck"></i> </span> <span class="text"> On the way</span> </div>
<div class="step"> <span class="icon"> <i class="fa fa-box"></i> </span> <span class="text">Delivered</span> </div>
</div>
break;
case 4:
<div class="track">
<div class="step active"> <span class="icon"> <i class="fa fa-check"></i> </span> <span class="text">Orderd</span> </div>
<div class="step active"> <span class="icon"> <i class="fa fa-user"></i> </span> <span class="text">Dispatched</span> </div>
<div class="step active"> <span class="icon"> <i class="fa fa-truck"></i> </span> <span class="text"> On the way</span> </div>
<div class="step active"> <span class="icon"> <i class="fa fa-box"></i> </span> <span class="text">Delivered</span> </div>
</div>
break;
default:
<p>BLAH BLAH BLAH...</p>
break;
}
我的枚举类是
public enum OrderStatus
{
Placed = 1,
ReadyForDispatch = 2,
Dispatched = 3,
Delivered = 4,
}
这段代码对我来说很好,但它包含更多有名的代码,可以在剃须刀视图部分进行简化,如果有人请让它简单一点。
在这里,对于每个 switch 语句,我都为进度条添加了 CSS 类“ACTIVE”。 上面的代码工作正常,但不是一个好习惯。下面的最终结果看起来像
【问题讨论】:
-
查看你的 switch 评估模式以及活动课程在 switch 值上的进展情况。您应该能够将代码提取到一个通用方法并重用它。
标签: c# asp.net-mvc asp.net-core razor razor-pages