2017-10-03 1 views
0

Le type de données DateTime affiche "2013-01-03T00: 00: 00". Je veux seulement que la date soit montrée i.e "2013-01-03". Les valeurs sont transmises par ajax.Affichage uniquement Date dans DateTime Asp.net mvc lors de la transmission des valeurs via ajax

J'ai un modèle appelé Ledger comme suit.

public class Ledger 
{ 
    public int Id { get; set; } 

    public DateTime? EntryDate { get; set; } 

    public string NetProfit { get; set; } 

    public long Revenue { get; set; } 
} 

À mon avis d'index de grand livre que j'ai le code suivant:

<table id="ledgers" class="table table-bordered table-hover"> 
    <thead> 
     <tr> 
      <th>Entry Date</th>  
     </tr> 
    </thead> 
<tbody></tbody> 
</table> 
@section scripts 
{ 
    <script> 
    $(document).ready(function() { 
     var table = $("#ledgers").DataTable({ 
      ajax: { 
       url: "/api/ledgers", 
       dataSrc: "" 
      }, 
      columns: [ 
       { 
       data: "entryDate" 
       }, 
      }); 
    }); 
</script> 
} 

Pourquoi re-poser la question: Je ne trouve pas les valeurs qui passe ajax problème liés DateTime. choses que j'ai essayé: Ajout format d'affichage sur l'attribut dans le modèle i.e.

[DisplayFormat(DataFormatString = "{0:yyyy/MM/dd}")]  
public DateTime? EntryDate { get; set; } 

Cela ne fonctionne pas.

+0

Essayez d'ajouter une autre propriété dans votre modèle de vue comme 'chaîne publique EntryDateFormatted {get {return DateTime.ToString ("yyyy/MM/dd"); }} 'et l'utiliser pour afficher la date. – DontVoteMeDown

+0

Utilisez simplement ToShortDateString dans votre vue – Wheels73

Répondre

0

le ci-dessous devrait atteindre ce dont vous avez besoin, je l'utilise pour enlever les champs de temps de latence.

@Html.TextBoxFor(x => x.EntryDate, Model.EntryDate.ToShortDateString()) 

Évidemment, ajustez à vos caractéristiques de modèles.

espoir qui aide