더북(TheBook)

3. 홈페이지에서 사용할 부분 기능을 MainSummaryByCategory라는 이름의 뷰 컴포넌트로 만들어 보자. DotNetNote 프로젝트의 ViewComponents 폴더에 MainSummaryByCategoryViewComponent.cs라는 이름으로 클래스 파일을 생성하고 다음과 같이 코드를 작성한다. 전체 코드를 다 작성하는 것을 기준으로 한다. 또한, 모든 C# 코드를 작성한 후에는 반드시 현재 프로젝트를 다시 빌드해서 컴파일 과정이 문제없음을 확인하면서 진행해야 한다.

▼  /ViewComponents/MainSummaryByCategoryViewComponent.cs

using DotNetNote.Models;
using Microsoft.AspNetCore.Mvc;

namespace DotNetNote.ViewComponents
{
  public class MainSummaryByCategoryViewComponent : ViewComponent
  {
      private INoteRepository _repository;
      
      public MainSummaryByCategoryViewComponent(INoteRepository repository)
      {
          _repository = repository;
      }
      
      public IViewComponentResult Invoke(string category)
      {
          // 이름 지정
          //return View(“Details”, _repository.GetRecentPosts()); 
          // 기본값: Default
          return View(_repository.GetNoteSummaryByCategory(category));
      }
  }
}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.