Afficher la valeur DateTime au format JJ/mm/AAAA dans Asp.NET MVC
Est-il possible d'afficher une valeur DateTime
au formatJJ/mm/AAAA à l'aide des méthodes HTML Hepler
dans Asp.NET MVC
? J'ai essayé de le faire en utilisant certains formats dans @Html.LabelFor
et en ajoutant des annotations à la propriété associée comme ci-dessous, mais cela n'a aucun sens. Toute aide pour résoudre ce problème serait appréciée.
Modèle:
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> RegistrationDate { get; set; }
6 réponses
Tout ce que vous avez à faire est d'appliquer le format que vous voulez dans l'appel d'aide html, ie.
@Html.TextBoxFor(m => m.RegistrationDate, "{0:dd/MM/yyyy}")
Vous n'avez pas besoin de fournir le format de date dans la classe de modèle.
Après quelques heures de recherche, je viens de résoudre ce problème avec quelques lignes de code
Votre modèle
[Required(ErrorMessage = "Enter the issued date.")]
[DataType(DataType.Date)]
public DateTime IssueDate { get; set; }
Rasoir Page
@Html.TextBoxFor(model => model.IssueDate)
@Html.ValidationMessageFor(model => model.IssueDate)
DatePicker De Jquery
<script type="text/javascript">
$(document).ready(function () {
$('#IssueDate').datepicker({
dateFormat: "dd/mm/yy",
showStatus: true,
showWeeks: true,
currentText: 'Now',
autoSize: true,
gotoCurrent: true,
showAnim: 'blind',
highlightWeek: true
});
});
</script>
Fichier Webconfig
<system.web>
<globalization uiCulture="en" culture="en-GB"/>
</system.web>
Maintenant, votre zone de texte acceptera le format"JJ/MM/AAAA" .
Je sais que c'est une question plus ancienne, mais pour référence, un moyen très simple de formater des dates sans annotations de données ou d'autres paramètres est le suivant:
@Html.TextBoxFor(m => m.StartDate, new { @Value = Model.StartDate.ToString("dd-MMM-yyyy") })
Le format ci-dessus peut bien sûr être changé en n'importe quoi.
Ou utilisez simplement ceci dans votre Vue (page Razor)
@item.ResgistrationhaseDate.ToString(string.Format("dd/MM/yyyy"))
Je recommande de ne pas ajouter de format de date dans votre classe de modèle
, Puisque la question était "affichage" :
@Html.ValueFor(model => model.RegistrationDate, "{0:dd/MM/yyyy}")
Vous devez utiliser html helper, et vous n'avez pas besoin de fournir le format de date dans la classe de modèle. E. x:
@Html.TextBoxFor(m => m.ResgistrationhaseDate, "{0:dd/MM/yyyy}")