2

사용자 프로필 정보를 편집하기 위해 부트 스트랩 3 및 ASP.NET MVC 5를 기반으로하는보기가 있지만 양식에 잘못된 형식으로 표시됩니다.Html.TextBoxFor에서 DateTimeOffset의 서식을 지정하는 방법은 무엇입니까?

데이터베이스는 Neo4j이며 Neo4jClient를 사용하여 .NET에서 데이터베이스와 상호 작용합니다. Neo4jClient는 Neo4j의 REST 인터페이스로 전달하기 위해 Json.NET의 시리얼 라이저를 사용하기 위해 DateTime 오브젝트 대신 DateTimeOffset 오브젝트를 사용해야합니다. 따라서 내 모델은 DateTimeOffset 개체를 사용하여 사용자의 생일을 저장합니다. 여기

내보기에 내 양식 필드입니다 :

<div class="form-group"> 
    <label class="col-md-4 control-label" for="Birthday">Birthday</label> 
    <div class="col-md-4"> 
     @Html.TextBoxFor(model => model.Birthday, new { @class = "form-control input-md datepicker", placeholder = "Birthday" }) 
     <span class="help-block">Please enter your birthday</span> 
    </div> 
</div> 

날짜는 양식에 인쇄 된 형식은 다음과 같습니다 우리가 필요하기 때문에

M/dd/yyyy hh:mm:ss t -zzz 

, 그것은이 형식을 가지는를 날짜 부분 : 나는 모델 소품에 DataFormatString 주석을 사용하여 시도했다

MM/dd/yyyy 

erty,하지만 여전히 올바른 형식으로 표시되지 않습니다

[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)] 
public DateTimeOffset Birthday { get; set; } 

이 주석이 여전히하는 DateTimeOffset 개체에 적용됩니까? 문자열 서식을 어떻게 수정합니까?

답변

3

여기 답변 : https://stackoverflow.com/a/6140014/211747

요약 : TextBoxForDataFormatString, 당신은 EditorFor를 사용할 필요가 존중하지 않지만, 당신이 편집기 템플릿 (Views\Shared\EditorTemplates\DateTimeOffset.cshtml)가 필요하므로 즉, 사용자 정의 HTML 속성을 지원하지 않습니다.

+0

감사합니다. 그 트릭을 했어! –

관련 문제