Moim zdaniem mam pole daty (który używany Jquery Date Picker)Jak usunąć część czasu od zmiennej DateTime w MVC
@if (Model != null)
{
if (Model.SubmitStartDate == DateTime.MinValue)
{
Model.SubmitStartDate = null;
}
@Html.TextBoxFor(m => m.SubmitStartDate , new { @Id = "SubmitStartDate", @readonly = "readonly", @Value = @Model.SubmitStartDate})
}
w moim modelu mam:
[Required(ErrorMessage = "Please select a start date")]
[DisplayFormat(DataFormatString = "{0:d}")]
public DateTime? SubmitStartDate { get; set; }
Jednak w interfejsie użytkownika otrzymuję 10/07/2013 00:00:00 po załadowaniu, Jak mogę usunąć część czasu z tego. Również wymagam daty w formacie "dd-mm-rr". Czy można to osiągnąć?
UPDATE
edytowany mój kod, jak na odpowiedzi i mam to działało jak na wymagania, jednak mam problem.
Gdy używam @Html.EditorFor()
, moja własność readonly
nie będzie działać. Próbowałem też z DisplayFor
, ale to nie ma sensu, ponieważ użyłem go do zapytania J-Wybór daty. Czy jest jakiś sposób, aby uczynić to pole tylko do odczytu?
aktualizowane Kod:
@if (Model != null)
{
if (Model.SubmitStartDate == DateTime.MinValue)
{
Model.SubmitStartDate = null;
}
@Html.EditorFor(m => m.SubmitStartDate , new { type = "date", @Id = "SubmitStartDate", @readonly = "readonly", @Value = @Model.SubmitStartDate})
}
i zmienić DataFormatString do "{0: dd-mm-rrrr}" –
Tylko dla kompletności, albowiem, jeśli tylko trzeba usunąć część czasu (wiem, to nie jest jedynym wymogiem), dodaj atrybut '[DataType (DataType.Date)]' –
Dzięki za odpowiedź, faktycznie działa jak urok :) jednak moja właściwość tylko do odczytu nie działa, kiedy używam Edit for '@ Html.EditorFor (m = > m.SubmitStartDate, new {type = "date", @Id = "SubmitStartDate", @readonly = "readonly", @Value = @ Model.SubmitStartDate}) ' – TBA