첨부 이미지를 보면,
https://www.dotnetnote.com
닷넷노트 사이트의 메인 페이지입니다.
메인 페이지의 특정 부분을
어떤 곳은 파셜뷰로, 또 다른 곳은 뷰 컴포넌트로 또 다른 곳은 태그헬퍼로...
부분 페이지/컴포넌트로 만들어서 출력하는 것을 볼 수 있습니다.
단순히
MVC에서 View 페이지에서 모든 기능을 구현해도 되지만,
조각 페이지가 재 사용될 수 있다고 판단이 되면,
Partial View 또는 View Component 또는 Tag Helper 또는 Blazor Component 등으로 확장해서
따로 만들고 이를 재사용할 수 있습니다.
이 모든것의 최종점은 Component라고 보면 됩니다.
기본은 MVC에서 뷰는 Views 폴더에 뷰 페이지로 cshtml 페이지를 만들어 사용하면 되고,
제 강의에서는 페이저 컴포넌트 등은 여러 곳에서 사용되기에
부분 뷰 등으로 따로 분리해서 관리합니다.
이 모든 방법이 필요에 의해서 다 만들어졌지만,
반드시 어떤곳에서 어느 것을 써라는 권장 사항은 없습니다.
제 강의와 책 기준으로는
DotNetNote 소스에서 Partial View, View Component, Tag Helper, Blazor Component 등으로 따로 뷰 기능을 만들어 사용했으니,
이 부분도 참고해 보시면 됩니다.
On 2022-03-02 오후 11:57:00, '김준호' wrote:
사이트를 개발하면서, 각 화면의 구성요소를 mvc의 어떤 기능들로 사용해야할지 고민중에 있습니다.
화면의 영역별로, 데이터를 조회하는 방법을 아래와 같이 고민하고 있습니다.
PartialView, View Componet
Controller에서가 아닌 @Inject를 활용해서
1. @Inject는 Controller를 거치지 않고, 직접 Model을 호출하여 데이터를 가져오는 것으로 알고 있는데요, 주로 어떤 경우에 사용하는것 일까요?
-예를 들어서, View에서 반환하는 데이터를 조회하고, 추가적인 UI 구성요소에서 데이터가
필요한 경우인지?
- Controller를 사용하지 않아야 하는 제약이 있는 환경에서 사용해야 하는지요?
2. PartialView, View Component 는 어떤 경우에 쓰면 되는 것 인가요?
msdn에서는 PartialView보다 더 강력하다고 하는데, 동적으로 사용할때 성능이 좋은건지 모르겠습니다.
- PartialView :
- View Compoenet :
책에서 말씀하신 내용을 개발하면서, 실무에 어떻게 활용해야 할지 문의드립니다.
감사합니다.