더북(TheBook)

26.13.4 따라하기 3: 컨트롤러에서 컬렉션 형태의 데이터를 뷰 페이지로 전송하기

1. 컨트롤러에서는 한 번에 여러 데이터를 컬렉션 형태로 전송할 수 있다. 이를 테스트해보자. Controllers 폴더에 ViewWithListOfDemoController.cs 파일을 생성하고 다음과 같이 코드를 작성한다. 앞서 생성한 DemoModel 클래스를 사용해 List<T> 또는 IEnumerable<T> 형태로 컬렉션을 만들어서 뷰 페이지로 전송하는 코드를 Index 액션 메서드에 작성한 것이다. View() 메서드의 매개 변수로 모델값을 전송할 때는 이처럼 모든 개체 형식을 넣어서 전송할 수 있다.

▼  Controllers/ViewWithListOfDemoController.cs

using DotNetNote.Models;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;

namespace DotNetNote.Controllers
{
  public class ViewWithListOfDemoController : Controller
  {
      /// <summary>
      /// 컨트롤러에서 컬렉션 형태의 데이터를 뷰 페이지로 전송하기
      /// </summary>
      public IActionResult Index()
      {
          List<DemoModel> models = new List<DemoModel>() {
              new DemoModel { Id = 1, Name = “홍길동” },
              new DemoModel { Id = 2, Name = “백두산” },
              new DemoModel { Id = 3, Name = “임꺽정” }
          };
          
          return View(models); // 다중 레코드, 컬렉션, List<T>
      }
  }
}

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