Pourquoi est-DisplayFormat DataFormatString pas de travail?

J'ai une propriété de mon point de vue le modèle comme suit:

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

Encore le balisage

<td>
    @Html.DisplayFor(modelItem => item.MovementDate)
</td>

rend la valeur de la date que 2013/05/15 12:00:00 AM.

Ce que je fais mal? Mon modèle:

public class WithDateModel
{
    [DisplayFormat(DataFormatString = "{0:yyyy/MM/dd}")]
    public DateTime TheDate { get; set; }
    public WithDateModel()
    {
        TheDate = DateTime.Now;
    }
}

Mon point de vue:

@model ParkPay.WebTests.Models.WithDateModel
@Html.DisplayFor(m => m.TheDate)
@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

Ce qui est du rendu:

2013/05/25 02:23:37 AM
  • Pensez-vous que vous souhaitez afficher la date? Le DateTime structure est une expression de la date et de l'heure.
  • Je suis bien conscient que la structure DateTime comprend des temps. C'est exactement pourquoi je suis en train d'utiliser teh DataFormatString propriété d'exclure le temps à partir de la date formatée.
  • L'avez-vous résolu le problème? Réponse de l'assistance?
  • Il ne fonctionnait pas pour moi, parce que je n'ai pas utilisé @Html.DisplayFor(). J'ai commenté ce ici au cas où d'autres personnes de faire la même erreur.
  • Utilisez [Type De Données(DataType.La Date] pour retourner uniquement la partie de la DATE de DATETIME.
InformationsquelleAutor ProfK | 2013-05-22