렌더링보기 평가하기? 내 모델의 일부 속성에 주석을 달고 있으며 모델이 뷰에 렌더링되기 전에 값을 변환해야합니다. 어떻게 모델의 특성과 이전 값이 필터 또는보기가 렌더링되기 전에 내가 모델의 특성과 가치를 평가할 수 ASP.NET MVC 코어에서 다른 메커니즘이
은 내가 'IDisplayMetadataProvider'를 사용하려고했지만 모델 속성 모델 표현의 일부 경우에만 작동합니다. 필자의 경우에는 그렇지 않다. ViewBag.Title과 같이 디스플레이 용도로만 사용되는 경우가 많다.간단한 예 : 모델이보기에 렌더링
public class MyModel
{
[Translate]
public string TitleKey { get; set; }
public string SomeOtherProp {get;set;}
public int AnotherProp {get;set;}
}
public class MyController
{
[HttpGet]
public IActionResult Index()
{
var vm = _service.GetViewModel();
vm.TitleKey = "Title.Translation.Key";
return View(vm);
}
}
전에, 나는 특성이 "번역"로 주석하고있는 모델과 발견을 검사하는 어떤 방법이있을 필요가있다. 그런 경우 해당 속성의 값을 가져 와서 다른 것으로 변경하십시오. 이 예제에서는 "TitleKey"속성의 값을 가져오고 해당 값을 변환하는 번역 서비스를 호출 한 다음 해당 값이보기에 도달하기 전에 다시 지정하려고합니다.
예, 가능하지만 할 일의 스 니펫을 포함 할 수 있습니까? –
[ASP.NET 코어의 세계화 및 현지화] (https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization)에 대한 Microsoft의 권장 패턴이 이미 있습니다. –
불행히도, 현지화를위한 기본 제공 지원을 사용하십시오. 내가하고있는 일은 고도로 맞춤화되어 있고 resx 파일을 사용하지 않는다. 허락 해 주면, 어떤 행동을 무효로하는 것이 가능할 수도 있지만, 지금 당장은 정말로 필요한 것은 그러한 속성을 평가하는 방법이며 내 일은 끝났습니다. –