2011-03-18 3 views

답변

1

모델 개체를 뷰에 전달하지 않는 것이 좋습니다. 대신 뷰의 필요에 맞게 조정되고 필요한 속성 만 포함하는 뷰 모델을 정의해야합니다. 그런 다음 컨트롤러에서 모델과 뷰 모델간에 매핑 할 수 있습니다. 예를 들어 :

public ActionResult Foo() 
{ 
    SomeModel model = _repository.GetModel(); 
    SomeViewModel viewModel = Mapper.Map<SomeModel, SomeViewModel>(model); 
    return Json(viewModel); 
} 

이 방법 당신은 더 이상보기 모델의 총 통제를 가지고에 대한 순환 참조를 걱정할 필요가없고, 또한이 뷰에서 필요한 부분 만 노출 될 것이다.

+0

Mapper.Map이란 무엇입니까? C#에서? – vondip

+0

@vondip, [AutoMapper] (http://automapper.codeplex.com)입니다. 알았어. –

+0

. 비슷한 도구를 사용하려고 생각했습니다. 이것은 일종의 전략적 해결책이지만. 그런 유틸리티를 추가하는데 드는 비용은 얼마입니까? – vondip

관련 문제