Dbl*_*oom 0 c# asp.net-mvc view razor
我有一个MVC应用程序,显示Windows部署的进度.在我看来,我有一个表格,显示每个部署的当前状态.其中一个属性是最后一次部署签入('CurrentTime').我想改变如果CurrentTime超过4小时前的风格.
在我的MVC视图中,我试图做这样的事情:
@foreach (var item in Model)
{
    if(item.CurrentTime < DateTime.Now.AddHours(-4))
    {
        @:<tr class="warning">
    }
    else
    {
        @:<tr>
    }
这不起作用.我收到一个解析器错误:
遇到没有匹配开始标记的结束标记"tr".您的开始/结束标签是否正确平衡?
什么是简单的方法(我只是学习MVC /网络编程)来实现这一目标?
最简单的方法(更清洁)是做这样的事情:
@foreach (var item in Model)
{
    var warning = item.CurrentTime < DateTime.Now.AddHours(-4) ? "warning" : null;
    <tr class="@warning">
       <td></td>
    </tr>
}
Razor 2+的一个很好的特性是,如果值为null,它将自动删除类属性.此功能称为"条件属性",如果需要,您可以在此处阅读更多内容.
http://www.davidhayden.me/blog/conditional-attributes-in-razor-view-engine-and-asp.net-mvc-4
| 归档时间: | 
 | 
| 查看次数: | 1212 次 | 
| 最近记录: |