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));
}
}
}