在ASP.NET MVC中有条件地在视图上显示项属性

时间:2012-02-15 22:54:31

标签: asp.net-mvc-3

ASP.NET MVC 3的新手。这看起来应该是一个非常简单的问题,但实际上让我感到难过。我想要做的是在输入值时显示某个DateTime值,或者如果没有输入值则留空。我认为的代码就是这样:

<td>
  @if (item.TimeReturned > DateTime.MinValue) 
  { 
    Html.DisplayFor(modelItem => item.TimeReturned); 
  }
</td>

这似乎非常基本和直截了当。此外,虽然看起来有点矫枉过正,但TimeReturned在模型中明确默认为DateTime.MinValue

没有显示任何值。为了确保它不是一些操作员的困难,我也尝试了

<td>
  @if (DateTime.Compare(item.TimeReturned,DateTime.MinValue) != 0) 
  { 
    Html.DisplayFor(modelItem => item.TimeReturned ); 
  }
</td>

也没有显示任何内容。我必须缺少一些基本的见解。我想我可以在模型类中编写一个方法来完成这个,但是这样做似乎很直观。任何指导将不胜感激!

2 个答案:

答案 0 :(得分:3)

尝试,

<td>
  @if (item.TimeReturned > DateTime.MinValue) 
  { 
    @Html.DisplayFor(modelItem => item.TimeReturned) 
  }
</td>

答案 1 :(得分:0)

您可以按如下方式使用

       @if (condetion)
        {
            @:@Html.DisplayFor(model => model.property)
        }