ASP.NET MVC3 - format DateTime
Je suis en utilisant ASP.NET MVC 3.
Mon ViewModel ressemble à ceci:
public class Foo
{
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime StartDate { get; set; }
...
}
En vue, j'ai quelque chose comme ceci:
<div class="editor-field">
@Html.EditorFor(model => model.StartDate)
<br />
@Html.ValidationMessageFor(model => model.StartDate)
</div>
StartDate est affichée dans le format correct, mais quand je change la valeur de 19.11.2011 et soumettre le formulaire, j'obtiens le message d'erreur suivant: "La valeur" 19.11.2011 " n'est pas valide pour StartDate."
Toute aide serait grandement appréciée!
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour donner le la culture dans la mondialisation de l'élément de votre site web.fichier de configuration pour laquelle
dd.MM.yyyy
est un format valide datetime:Par exemple c'est le format par défaut en allemand:
de-DE
.Mise à JOUR:
En fonction de votre exigence dans la section des commentaires que vous souhaitez conserver en-US la culture de l'application, mais toujours utiliser un des formats différents pour les dates. Cela pourrait être réalisé par la rédaction d'un modèle de classeur:
lequel vous devez vous inscrire dans
Application_Start
:dd/MM/yyyy
format fonctionne très bien sur la machine locale, mais notre site est hébergé dans un autre pays, il doitMM/dd/yyyy
format d'autre il montre d'erreur de validationThe field BeginDate must be a date.
, comment puis-je faire rompre à accepterdd/MM/yyyy
format, sera de la mondialisation?, puis-je ajouter de la mondialisation dans une page d'Affichage à la place de web.config ?En fonction de votre commentaire, je vois tout ce que vous voulez est un anglais courant, mais avec un format de date différent (Corrigez-moi si je me trompe).
Le fait est que le
DefaultModelBinder
utilise les paramètres de culture du serveur pour les données de formulaire. Donc je peux dire que l'utilisation du serveur "en-US" de la culture, mais avec un format de date différent.Vous pouvez faire quelque chose comme cela dans la
Application_BeginRequest
et vous avez terminé!Web.Config
Ajouté ce code ci-dessous pour mondiale.asax.cs fichier
Et ajouté le ci-dessous pour web.config sous
<system.web>