내 뷰 모델에이 속성이 있습니다.
[DataType(DataType.DateTime)]
public DateTime? StartDate { get; set; }
날짜를 표시하거나 텍스트 상자에 날짜를 채우려면 다음이 필요합니다.
<%: Model.StartDate %>
<%: Html.TextBoxFor(m => m.StartDate) %>
날짜가 표시 될 때마다 다음과 같이 표시됩니다. 01/01/2011 12:00:00 AM
하지만 2011 년 1 월 1 일만 표시하고 싶습니다
데이터 주석이있는 표시 형식을 적용하는 방법이 있습니까? 날짜를 표시하는 모든 인스턴스로 이동하여 형식을 지정하는 코드를 추가하고 싶지는 않습니다.
답변
다음과 같이 태그를 지정하십시오.
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
답변
이거 해봤 어?
[DataType(DataType.Date)]
답변
mvc 4에서는 TextBoxFor
..
@Html.TextBoxFor(m => m.StartDate, "{0:MM/dd/yyyy}", new { @class = "form-control default-date-picker" })
따라서 모델 또는 뷰 모델 클래스에서 데이터 주석을 사용할 필요가 없습니다.
답변
데이터 필드가 이미 DateTime 데이터 유형 인 [DataType(DataType.Date)]
경우 주석 에 사용할 필요가 없습니다 . 다음을 사용하십시오.
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
jQuery에서 달력에 datepicker를 사용하십시오.
$(document).ready(function () {
$('#StartDate').datepicker();
});
HTML에서 EditorFor
도우미를 사용하십시오 .
@Html.EditorFor(model => model.StartDate)
답변
다음과 같이 DataAnnotation을 적용합니다.
[DisplayFormat(DataFormatString = "{0:MMM dd, yyyy}")]
답변
이것을 사용하지만 완전한 솔루션입니다.
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
답변
TextBoxFor 대신 EditorFor 사용