2014-01-13 3 views
0

По какой-то причине формат даты не проходящей на мой взгляд, я использовал следующие в моей модели: -формат даты не проходя через для просмотра

using System.ComponentModel.DataAnnotations; 

[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] 
public DateTime? Date { get; set; } 

то на мой взгляд

@model.Date 

и выход в браузере

20/11/2013 00:00:00 

всегда добавляет «00:00:00», хотя время не на SQL поле d ive применяется к нему.

Кто-нибудь знает что?

Благодаря

+0

Тип DateTime всегда имеет элемент времени, даже если это 0. Вы необходимо изменить формат отображения в представлении. –

+0

@Alex, на ваш взгляд, вы используете HtmlHelper или просто испускаете поле модели напрямую? Аннотации данных не работают автоматически, они есть как подсказка к методам HtmlHelper. –

ответ

2

Попробуйте

@ model.Date.Value.ToString ("дд/мм/гггг")

+0

Я получаю «Нет перегрузки в строку принимает 1 аргумент»? – AlexW

+0

О, извините ... Поскольку ваша дата имеет значение NULL, вам нужно добавить .Value Итак, ваш вид должен выглядеть как @ Model.Date.Value.ToString («dd/MM/yyyy») «Но будьте осторожны! Если вы имеют нулевое значение в переменной Date и вы вызываете ToString(), вы получите ошибку ... – brothers28

+0

Вам также не понадобится [DisplayFormat (DataFormatString = "{0: dd/MM/yyyy}", ApplyFormatInEditMode = true)] в вашем классе больше – brothers28

0

@model.Date просто вызывает метод ToString() на это имущество, и использует параметры форматирования в соответствии с текущей культуры.

Атрибут [DisplayFormat] используется методами связывания модели MVC, такими как Display()/DisplayFor() и Editor()/EditorFor().

Смежные вопросы