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; }
53
demandé sur Murat Yıldız 2013-08-17 16:12:52

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.

73
répondu Mahajan344 2018-06-06 13:25:05

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" .

47
répondu iYogi 2017-08-10 03:58:39

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.

9
répondu Dav.id 2014-12-23 13:25:18

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

5
répondu Ayman 2017-04-14 13:39:41

, Puisque la question était "affichage" :

@Html.ValueFor(model => model.RegistrationDate, "{0:dd/MM/yyyy}")
5
répondu Steven 2018-06-05 08:35:01

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}")
2
répondu Jehad87 2016-02-23 09:25:06