2017-08-31 2 views
0

Ich ziehe mich wegen dieses Problems aus. Ich versuche, jquery datetimepicker auf meinem mvc-Feld zu verwenden, aber aus irgendeinem Grund werden die Werte nicht an das Modell weitergegeben. Wenn ich bei der Validierung auf den Feldern laufen, geben sie, dass die Werte müssen ein „Date“ seinMVC-Modell akzeptiert keinen Wert von Jquery DateTimePicker

Hier ist meine Textfelder:

<div class="col-lg-3"> 
     @Html.Label("From") 
     @Html.TextBoxFor(m => Model.From, new {id = "startDate", @class = "form-control"}) 
</div> 
<div class="col-lg-3"> 
     @Html.Label("To") 
     @Html.TextBoxFor(m => Model.To, new {id = "endDate", @class = "form-control"}) 
</div> 

Mein javascript:

$("#startDate").datetimepicker({ 
     format: 'DD/MM/YYYY H:00:00', 
     locale:'da' 
    }); 
    $("#endDate").datetimepicker({ 
     format: 'DD/MM/YYYY H:00:00', 
     locale: 'da' 
    }); 

Und schließlich mein Modell :

public class ScheduleHoursModel 
{ 
    public DateTime From { get; set; } 

    public DateTime To { get; set; } 

    public bool Recurring { get; set; } 
} 

Fehle ich hier etwas?

+0

Der Fehler ist ein clientseitiger Fehler (dh Sie verwenden 'jquery.validate.unobtrusive.js'). In diesem Fall müssen Sie den Validator neu konfigurieren (der standardmäßig das Datum im' MM/TT/JJJJ' Format validiert ist dies nur ein serverseitiger Fehler, in diesem Fall akzeptiert Ihre Serverkultur keine Daten im 'TT/MM/JJJJ'-Format, so dass Sie die Kultur ändern müssen oder einen benutzerdefinierten ModelBinder verwenden, um Ihre Daten zu binden –

Antwort

0

Sie müssen die äußeren div verweisen und nicht die Textbox sich wie folgt aus:

<div id="startDate">    
    @Html.EditorFor(model => model.From) 
</div> 

$("#startDate").datetimepicker({ 
    format: 'DD/MM/YYYY H:00:00', 
    locale:'da' 
}); 

Nun ist die Form haben einen Wert für die Eigenschaft From und das Modell in der Lage, die Bindung an die Steuerung zu senden. In Ihrem Fall wurde der Wert einem Eingang mit dem Namen startDate zugewiesen, solange ich das verstehen konnte, ist diese Eigenschaft startDate nicht in Ihrem Modell.

Ich hoffe es hilft.

+1

Sie sind der Grund Ich bin nicht zu früh Glatze geworden - danke! – Jannik

+0

Das ist Unsinn und hat nichts mit dem OP-Problem zu tun. –

Verwandte Themen