2017-09-15 3 views
1

tous. Je suis nouveau sur asp.net MVC 5. Il y a une colonne dans ma base de données qui a le type de DateTime, et je veux utiliser datepicker pour insérer la date dedans. Cependant, cela m'a donné une erreur. the errorUtilisation de datepicker pour insérer la date dans la base de données

mon modèle est comme

[Display(Name = "Found Date")] public System.DateTime foundDate { get; set; }

mon avis est

<div class="form-group"> 
     @Html.LabelFor(model => model.foundDate, htmlAttributes: new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.EditorFor(model => model.foundDate, new { htmlAttributes = new { @class = "form-control" } }) 
      @Html.ValidationMessageFor(model => model.foundDate, "", new { @class = "text-danger" }) 
     </div> 
    </div> 
scénario

$(document).ready(function() { $("#foundDate").datepicker({dateformat: 'dd/MM/yyyy'}); });

Quel format de date devrait être passé au datetime dans la base de données? Comment puis-je le modifier pour qu'il corresponde au type de retour du client datepicker?

Toute aide pour résoudre ce problème serait appréciée.

Répondre

0

Vous pouvez spécifier le format datetime en utilisant DataAnnotaions

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")] 

Et vous pouvez également utiliser le contrôle du temps de la date de HTML5 classique, il suffit de spécifier le type de données que vous propriété modèle à l'aide d'annotations de données au lieu de sélecteur de datetime jquery comme

[DataType(DataType.DateTime)] 

espérons qu'il aidera aide

+0

Merci pour le conseil. J'ai déclaré le type de données dans le modèle et le problème résolu. – harry

1

vous l'avez configuré

$("#foundDate").datepicker({dateformat: 'dd/MM/yyyy'}); 

mais l'entrée est en MM/dd/yyyy.

0

d'abord télécharger le globalize.js, globalize.culture.en-GB.j s fichiers et lier ces fichiers dans votre page HTML.Finalement, collez le code suivant dans votre balise de script.

<script src="~/Scripts/globalize.js"></script> 
<script src="~/Scripts/globalize.culture.en-GB.js"></script> 
$(document).ready(function() { 
    $.culture = Globalize.culture("en-GB"); 
    $.validator.methods.date = function (value, element) { 
     return this.optional(element) 
      || Globalize.parseDate(value, "dd/MM/yyyy", "en-GB") 
      || Globalize.parseDate(value, "yyyy-mm-dd"); 
    } 
$("#foundDate").datepicker({dateformat: 'dd/MM/yyyy'}); 
});