사용자 정의 DisplayTemplate의 ModelMetadata에서 DataTypeName에 액세스하려하지만 항상 null입니다. 내 목표는 DataTypeName을 찾는 decimal.cshtml 템플리트를 작성하고 통화 형식과 동일하면 통화로 작성하는 것입니다. 그렇지 않으면 10 진수를 보통과 같이 표시하십시오. ~ @Html.DisplayFor(m => m.foo)
DisplayTemplate의 DataTypeName은 항상 null입니다.
디스플레이 템플릿 (: 강하게 나는이 같은 전화를 MyModel
에 입력 된 뷰에서
public class MyModel
{
[DataType(DataType.Currency)]
public decimal foo { get; set; }
}
:
모델 : 여기에 내가 지금 무엇을의 예 /Views/Shared/DisplayTemplates/decimal.cshtml)
@model decimal?
@{
var type = ViewData.ModelMetadata.DataTypeName; // This is always null
}
나는 그것이들처럼 내 DisplayTemplate를 사용하고 있음을 알고있다 하지만, 모델에 DataType 특성이 있으므로이 경우 DataTypeName이 null이 아니길 기대합니다. 이와 같은 디스플레이 템플릿에서 DataType에 액세스 할 수있는 방법이 있습니까?
금요일부터 내 작업을 되돌리고 다시 한 번 시도해 보니 이번에는 효과적이었습니다! 나는 그것이 왜 처음에는 작동하지 않았는지 여전히 확실하지 않습니다. 확실히 늦은 금요일 오후에 벌레가 나옵니다. 다르게 작동해야한다는 것을 재확인 해 주셔서 감사합니다. 아마도 해킹 된 솔루션을 시도했을 것입니다. – bbak