2013-03-20 3 views
1

MVC4를 배우면서 컨트롤러 분리에 대한 모범 사례를 이해하려고합니다. 지금까지 사이트의 각 논리 단위에 대한 컨트롤러를 갖는 것이 좋음을 알았습니다.MVC 4 - 홈 컨트롤러에서 부분 뷰를 사용해야합니까?

예를 들어 리뷰, 레스토랑 및 리뷰어가있는 레스토랑 리뷰 사이트가있는 경우 3 개의 일치하는 컨트롤러를 추가합니다. 각 컨트롤러는 엔티티의리스트 뷰를 생성하는 방법을 알고있다.

홈 컨트롤러는 현재에 대한 뷰를 생성하는 방법을 알고있다 : "정보", "연락처"...
나는 그것이 10 리뷰어/리뷰/대중 음식점을 보여 주 색인 작업입니다합니다. 이러한 "상위 10 개"목록은 전용 컨트롤러의 해당 목록과 모양이 다릅니다.

리뷰를 보려면
Views => Reviews => _ReviewsTopTen.cshtml 폴더에 부분 뷰를 만드는 것이 좋습니다.

답변

3

먼저 마크 업을보고 처음 부분 뷰로 분할해야하는지 여부를 결정하면됩니다. . 그렇지 않다면보기 자체를 유지하는 것이 완벽합니다. 그것을 위해서 물건을 추상화 할 필요가 없습니다.

부분보기가 필요하고 홈 컨트롤러에서만 사용해야하는 경우 올바른 장소는보기> 리뷰> _ReviewsTopTen.cshtml입니다.

그러나 부분의 마크 업이 사이트의 다른 섹션과 동일하고 CSS 스타일링 만 다른 경우보기> 공유에서 부분보기를 만들어 여러 가지 용도로 사용할 수 있도록해야합니다 컨트롤러보기.

0

내가 컨트롤러 로직의 분리를위한 최상의 방법을 생각한다 (이보기 만 홈 콘트롤의 색인 작업에 사용된다) U 표시해야하는 각 논리 장치에 대한 귀하의 홈보기에서 @Html.Action() 방법을 사용합니다. 예를 들어 가정용 컨트롤러보기에서 10 개의 리뷰를 표시해야하는 경우 다음과 같이 표시 될 수 있습니다. @Html.Action("TopTenReviews", "Reviews(<-controller name)")

관련 문제