2011-03-02 2 views
0

모델의 속성을 뷰에 표시해야하는지 여부를 결정하는 조건부 비즈니스 논리가 있습니다. 모범 사례에 따르면 어디에서 구현할 것인가?MVC3 - 조건부 뷰 렌더링

보기 수준에서이 논리를 구현하는 것이 나에게 어울리지 않는 것 같습니다.

감사합니다.

+0

질문은 "조건부 뷰 렌더링"으로 응답을 정의하면 뷰 렌더링 어딘가에 있어야한다는 것을 의미합니다. :) –

+0

뷰 내부의 로직은 테스트 기능이없는 복잡한 뷰와이를 구현해야하는 각 뷰에 대한 반복 된 논리를 의미합니다. – Ninjago

답변

0

IMO는 모델에 속합니다. 해당 비즈니스 로직을 모델의 IsRequiredYourProperyName 속성에 넣습니다.

+0

예제를 제공해 주시겠습니까? – Ninjago

0

정말요? ViewModel의 일부로 표시해야하는지 여부를 나타내는 부울 값을 전달하면 View에서 괜찮을 것이라고 생각했을 것입니다. 뷰는 특정 UI 요소를 렌더링해야하는지 외부 리소스를 쿼리해서는 안되지만 렌더링 할 내용을 ViewModel에 결정해야하는 경우 간단한 if {} 문이 잘못 되었습니까? 또는 조건부 디스플레이 속성이 일반적이라면 사용자 정의 DisplayTemplate 또는 EditorTemplate을 만들고 그에 대한 로직을 구현할 수 있습니다.

따라서 ViewModel은 전송하려는 모든 것을 화면으로 래핑해야합니다. 귀하의 경우 그것은 각 속성을 부울로 표시할지 여부를 지정하는 DomainModel과 일종의 사전 또는 KeyValuePair 컬렉션을 래핑해야하는 것처럼 들립니다. 그게 내가 어쨌든해야 할 일이다.

관련 문제