2010-09-16 2 views
15

J'espère que la question est facile, mais je cherche autour de plus d'une heure et je ne trouve tout simplement pas la réponse. J'ai donc une application asp.net mvc 2 et l'un des formulaires contient une boîte de texte de date avec un jpery datepicker. J'ai mis dans le datepicker le format de date à dd.mm.yyyy. Mon problème est que sur la liaison de modèle cette date est interprétée comme mm.dd.yyyy, donc au moment où le modèle atteint ma méthode d'action l'attribut DateTime du modèle n'est pas correct (jour et mois est inversé, s'il n'est pas possible de renverser le client la validation latérale ne me laisse pas enregistrer l'article). Je ne veux pas changer de culture, mais je voudrais préciser d'une manière ou d'une autre au modélisateur comment interpréter la date. Est-ce possible en quelque sorte?Comment spécifier le format de date pour la liaison de modèle?

Merci beaucoup

Répondre

7

This blog post explique comment spécifier un format de date particulier à utiliser par le classeur de modèle MVC.

Vous devez créer une implémentation de liant modèle personnalisé qui est au courant du format de date, puis associer ce avec le type DateTime dans votre Global.asax.cs:

protected void Application_Start() 
{ 
    //... 
    var binder = new DateTimeModelBinder(GetCustomDateFormat()); 
    ModelBinders.Binders.Add(typeof(DateTime), binder); 
} 
Questions connexes