MVC Razor-DatePicker-und TimePicker
Habe ich ein Formular generiert Rasierer, ermöglicht es Benutzern, zu Bearbeiten, einige scheduler-Daten, und es funktioniert Recht gut.
Eine Sache, die ich nicht verstehen, noch habe ich gesehen, sind die Datums-und uhrzeitauswahl, werden automatisch von Razor.
Zu klären, diese sind, was ich Rede:
Sie sind nett und alles, aber wie du in dem screenshot sehen kann, Sie verwenden Sie nicht mein Modell-Werte.
Markup selbst hat meine Werte in den tags, aber die Steuerelemente ignorieren.
Hier ist, was ich meine:
Wie Sie sehen können, werden die Werte festgelegt, die in den tags, aber die Steuerelemente sind nicht die Achtung dieser Werte.
Ich werde beachten Sie, dass es in meinem custom-built-Modell, ich habe diese Eigenschaften zu versehen mit der folgenden:
//For the dates...
[DataType(System.ComponentModel.DataAnnotations.DataType.Date)]
//For the time...
[DataType(System.ComponentModel.DataAnnotations.DataType.Time)]
Ich würde lieber nicht haben, entfernen Sie diese Anmerkungen, aber wenn es wirkt sich auf meine erreichen eine Lösung, ich werde tun, was getan werden muss.
Um dieses Problem zu lösen, möchte ich eines von zwei Dingen:
- Verhindern, dass diese Kontrollen von generiert wird, in den ersten Platz, so dass ich verwenden können,diese absolut wunderbare jQuery datetimepicker-addon.
- Kraft, diese Kontrollen zu respektieren und zeigen die Werte übergeben von meinem Modell.
Alle Vorschläge werden sehr geschätzt. Anregungen von denen, vertraut mit MVC werden geschätzt auch mehr.
InformationsquelleAutor Kehlan Krumme | 2013-07-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Rendern Sie diese mit
@Html.TextBoxFor( x => x.StartDate, new { @class = "date" })
und die Verwendung einiger jquery so etwas wie$('.date').datetimepicker();
auf die Abfrage angewendet werden soll plugin.Die Werte für
date
undtime
Eingänge sollten in die Formateyyyy-MM-dd
undHH:mm:ss
- dies erklärt, warum Sie nicht für Sie arbeiten derzeit. Ich habe nicht geschaut bei dem plugin, das Sie benutzen wollen, sehr eng, aber es ist wahrscheinlich, dass es Ihnen das konfigurieren der Datum/Zeit-Formate zu verwenden.InformationsquelleAutor StanK
Ich weiß, das ist alt, aber Google hat mich hier, so könnte es jemand anderes hier auch.
Wenn Sie nicht bereits Hinzugefügt datetimepicker-plugin, um Ihre bundles, dann stellen Sie sicher, dies zu tun in den head-Bereich (zusammen mit jquery und jquery ui, nach der plugin Richtungen).
In Ihrem Modell hinzufügen, die
[UIHint{"DateTime")]
Attribut über dem Feld. Klicken Sie dann in "~/Views/Shared/EditorTemplates" - Ordner, erstellen Sie eine Datei namens "DateTime".cshtml" mit folgendem Inhalt:'#@ViewData.TemplateInfo.GetFullHtmlFieldName(string.Leer) " Teil packt das Feld id aus der Razor-generierte TextBox.Hinzufügen der 'date' - Klasse ist optional, aber hilft, wenn Sie wollen, um einige custom-styling.
InformationsquelleAutor longestwayround
Hier ist dein problem.
value="8:00"
Werden sollte:
Wert="08:00"
Werden muss, 24-Stunden-Zeit 5:00 Pm wäre müssen den Wert 17:00 Uhr
Keine Notwendigkeit für jquery.
Verwenden Sie den richtigen Wert, und Sie könnte verwenden Sie die standard-html-element.
Hier ist ein Beispiel, wie ich es in C# Razor Seite.
Es funktioniert, liest und schreibt das Modell perfekt.
InformationsquelleAutor Cobysan