C#에서 ASP.NET MVC3 응용 프로그램을 작성하고 있는데 DateTime
을 내보기에서 으로 호출하면 다르게 (그리고 잘못) Html.DisplayFor
.Html.HiddenFor ASP.NET의 DateTime 형식이 잘못되었습니다.
값을 가져 오는 모델에는 DisplayFormat 데코레이터가 있으며 이는 Html.DisplayFor
에서 작동하는 것 같습니다. 문제의 속성으로 기록됩니다
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime MeetingStartDate { get; set; }
그리고보기에는이 사용 : HiddenFor이 value="04/16/2012 00:00:00"
로 렌더링하지만
@Html.DisplayFor(model => model.MeetingStartDate)
@Html.HiddenFor(model => model.MeetingStartDate)
DisplayFor 호출 16/04/2012
로 날짜를 렌더링합니다.
DateTimeFormat
을 설정하기 위해 현재 문화권을 변경해 보았지만 아무 효과가 없었습니다.
현재 문화권은 en-GB이므로 en-US 날짜를 인쇄해서는 안됩니다.
값이 숨겨진 경우 형식이 어떻게 달라졌습니까? 아마 그것은 길에 다시 파싱 될 필요가있을뿐입니다 ...* 인간 소비가 아니라면 형식이 중요하지 않아야합니다. –
@JonSkeet 어떤 이유로 en-GB에서 작동하지만 en-US 날짜가 인쇄되는 모델을 무효화합니다. 그러나이 숨겨진 요소에 대해서만 * –
사용자 정의 편집기 템플릿을 사용할 수 있습니다. 답변보기 : http://stackoverflow.com/questions/8305262/asp-net-mvc-format-of-hidden-datetime –