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