2013-05-30 3 views
0

날짜 시간 형식에 문제가 있습니다. ASP_MVC 4에 있습니다. 날짜가 dd/mm/yyyy hh : mm : ss, 으로 표시됩니다. 표시된 모든 것은 dd/mm/yy입니다. DOB. 다음과 같이DateTime? 텍스트 상자에서 서식 지정

내 모델은 EditFor가되지 않도록

[Display(Name = "Date of Birth")] 
[DisplayFormat(DataFormatString = "{0:d}"] 
public DateTime? DOB { get; set; } 

그리고 내보기

...

@Html.TextBoxFor(model => model.Patient.DOB, new { @class = "m-wrap span8", disabled = "disabled" }) 

나는 사용자가 날짜를 편집 할 수 싶지 않아 ...입니다 옵션을 사용하여 TextBoxFor를 EditFor로 바꾸는 것과 함께 속성에 ApplyFormatInEditMode = true 태그를 추가하려고 시도했습니다. 이렇게하면 사용자가 편집 할 수있게됩니다.

DOB.value.ToShortDateString()도 사용해 보았습니다. 기쁨이 없었습니다.

어떤 조언, 도움 감사합니다 ... 당신은 (기본적으로 일반적으로 OS의 문화) 현재 스레드 문화의 날짜/시간 형식을 가져옵니다 short date format specifier를 사용하는

답변

0

.

당신이 그것을 당신이 EditorFor보다는 TextBoxFor를 사용하는 경우 DisplayFormat 속성에만 작동 즉

[DisplayFormat(DataFormatString = "{0:dd/MM/yy}")] 

을 수정해야 일관된 형식으로 필요합니다.

+0

답장을 보내 주셔서 감사합니다. 문제를 해결하지 못했지만 문제가 "?" 다음 날짜/시간 .... – mkell

+0

@mkell 어떤 모드가 편집 또는 표시로 보입니까? '? '는 단지'DateTime'이 nullable이라는 것을 의미합니다. 이것은 포맷팅에 영향을 미치지 않아야합니다. – James

+0

모드별로 무엇을 의미하는지 잘 모르겠습니까? 또는 어디에서 확인할 것인가? – mkell