Saya memiliki Atribut Tampilan berikut
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime? StartDate { get; set; }
Ini ditampilkan dengan benar di Halaman Indeks saya dan juga halaman Edit saya
Index.cshtml (daftar item)
@Html.DisplayFor(modelItem => item.StartDate)
Sunting.cshtml
<div class="form-group">
@Html.LabelFor(model => model.StartDate, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.StartDate, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.StartDate, "", new { @class = "text-danger" })
</div>
</div>
Namun format tanggal harus dalam format dd/MMM/yyyy mis. 20/Okt/2015, jadi saya ubah atribut tampilan menjadi
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MMM/yyyy}")]
public DateTime? StartDate { get; set; }
Di Index.cshtml saya ditampilkan dengan benar pada 20/Okt/2015.
Masalahnya adalah ketika saya membukanya di Edit.cshtml, itu tidak memuat nilai properti yang diteruskan ke ViewModel tetapi menampilkan nilainya seperti
Mengapa {0:yyyy-MM-dd} berfungsi tetapi "{0:dd/MMM/yyyy} tidak berfungsi?
Cara membuatnya bekerja?
datepicker
yang memerlukan tanggal dalam format ISO (yyyy-MM-dd) (tidak ini hanya berfungsi di Chrome dan akan menghasilkan kotak teks normal di IE & FireFox - person   schedule 23.10.2015EditorFor()
gunakan@Html.TextBoxFor(m => m.StartDate, "{0:yyyy-MM-dd}", new { @class = "control-label col-md-2" })
dan simpanDataFormatString
untuk digunakan olehDisplayFor()
- person   schedule 23.10.2015