2013-12-23 2 views
0

소수로 정의 된 숫자 필드가 있습니다. 비록 그것을 정수 값으로 표시하려고합니다.DataFormatString이 내 MVC 응용 프로그램에서 작동하지 않는 이유는 무엇입니까?

내 모델 :

[Column(CanBeNull = true, DbType = "numeric", Name = "VHCL_ODOMTR")] 
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:f0}", HtmlEncode = false, NullDisplayText = "")] 
    [Display(Name = "Odometer")] 
    public decimal? VehicleOdometer { get; set; } 

내 면도기 :

@Html.TextBoxFor(model => model.VehicleOdometer) 

내 출력이 항상 ONE 진수와 텍스트 상자입니다. 나는 그 일을 그만 둘 수 없다. 나는 {0 : D}, {0 : #}을 시도했고 소문자 대신에 대문자 F를 사용했습니다. "F9"를 시도해도 10 진수가 아닌 9가 표시됩니다. DataFormatProperty를 완전히 무시합니다.

답변

1

DisplayFormatAttribute은 템플릿보기 도우미 (예 : Html.EditorForHtml.DisplayFor)와 함께 사용하도록 설계 되었기 때문입니다. 따라서이 기능을 사용하려면 다음을 사용해야합니다.

@Html.EditorFor(model => model.VehicleOdometer) 
+1

감사합니다. MVC를 알아 냈다고 생각할 때, 이런 식으로 뭔가를 배우고 배울 점이 얼마나 많은지 깨닫습니다! – Paul

관련 문제