Est-il possible d'afficher une valeur DateTime
au format jj/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; }
Tout ce que vous avez à faire est d’appliquer le format souhaité dans l’appel d’aide HTML, c’est-à-dire.
@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; }
Razor Page
@Html.TextBoxFor(model => model.IssueDate)
@Html.ValidationMessageFor(model => model.IssueDate)
Jquery DatePicker
<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 boîte de texte acceptera le format "jj/mm/aaaa".
Je sais que c’est une question plus ancienne, mais, à titre de référence, voici un moyen très simple de formater des dates sans annotations de données ni autres paramètres:
@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-le simplement 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
Depuis que la question était "display":
@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}")