asp.net mvc3 как вы форматируете дату и время в представлении - PullRequest
3 голосов
/ 09 сентября 2011

Я пытаюсь отформатировать дату и время в представлении.

<span class="tag">
        @Html.DisplayFor(modelItem => item.PostDate.ToString("yyyy"))  
</span>

вот сообщение об ошибке, которое я получил.

Шаблоны могут использоваться только с доступом к полю, доступом к свойству, одномерныминдекс массива или индивидуальные индивидуальные выражения индексатора.

как это исправить?

Ответы [ 3 ]

4 голосов
/ 09 сентября 2011

Вы декорируете свойство модели представления с помощью атрибута [DisplayFormat]:

[DisplayFormat(DataFormatString = "{0:yyyy}", ApplyFormatInEditMode = true)]
public DateTime PostDate { get; set; }

и, по вашему мнению, просто используете метод Html.DisplayFor:

<span class="tag">
    @Html.DisplayFor(modelItem => item.PostDate)
</span>

или вы также можете использовать:

<span class="tag">
    @item.PostDate.ToString("yyyy")
</span>

, но если у вас это было во многих местах, первый подход предпочтительнее, потому что формат будет централизован в одном месте.

0 голосов
/ 03 июля 2013

@Html.DisplayFor(modelItem => item.PostDate).ToString().Substring(5,4)

Таким образом, вы можете вырезать любую часть вашего DateTime отформатированного поля.

0 голосов
/ 09 сентября 2011

Вы можете отформатировать ваш DateTime следующим образом. Показывает полную дату и время.

[DisplayFormat(DataFormatString = "{0:g}", ApplyFormatInEditMode = true)]
public DateTime PostDate { get; set; }

Затем используйте его в View следующим образом.

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