Условно отобразить свойство элемента при просмотре в ASP.NET MVC - PullRequest
1 голос
/ 16 февраля 2012

Новое в 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 ]

3 голосов
/ 16 февраля 2012

Попробуй,

<td>
  @if (item.TimeReturned > DateTime.MinValue) 
  { 
    @Html.DisplayFor(modelItem => item.TimeReturned) 
  }
</td>
0 голосов
/ 16 февраля 2012

Вы можете использовать его следующим образом

       @if (condetion)
        {
            @:@Html.DisplayFor(model => model.property)
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...