Theo quan điểm của tôi, tôi có một trường ngày (mà sử dụng cho Jquery Ngày Picker),Làm thế nào để loại bỏ thời gian một phần từ biến DateTime trong 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})
}
Trong mẫu của tôi, tôi có:
[Required(ErrorMessage = "Please select a start date")]
[DisplayFormat(DataFormatString = "{0:d}")]
public DateTime? SubmitStartDate { get; set; }
Tuy nhiên trong giao diện người dùng, tôi nhận được 10/07/2013 00:00:00 khi tải, Làm cách nào tôi có thể xóa phần thời gian khỏi điều này. Ngoài ra, tôi yêu cầu ngày theo định dạng "dd-mm-yy". Có thể đạt được không?
CẬP NHẬT
tôi sửa mã của tôi là mỗi câu trả lời, và tôi đã nhận nó làm việc theo yêu cầu, tuy nhiên tôi có một vấn đề.
Khi tôi sử dụng @Html.EditorFor()
tài sản readonly
của tôi sẽ không hoạt động nữa. Tôi đã thử với DisplayFor
quá, tuy nhiên nó không có ý nghĩa như tôi đã sử dụng nó cho một J-truy vấn ngày Picker. Có cách nào tôi có thể làm cho trường đó chỉ đọc được không?
Mã Cập nhật:
@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})
}
Và thay đổi DataFormatString để "{0: dd-MM-yyyy}" –
Chỉ cần cho đầy đủ vì: nếu bạn chỉ cần loại bỏ các bán thời gian (tôi biết, đây không phải là yêu cầu duy nhất của bạn), thêm thuộc tính '[DataType (DataType.Date)]' –
Cảm ơn câu trả lời, ya thực sự nó hoạt động như charm :) tuy nhiên thuộc tính chỉ đọc của tôi không hoạt động nữa, khi tôi sử dụng Editfor '@ Html.EditorFor (m = > m.SubmitStartDate, new {type = "date", @Id = "SubmitStartDate", @readonly = "readonly", @Value = @ Model.SubmitStartDate}) ' – TBA