Controller

View에 데이터를 전달하는 방법 2가지:
- ViewData["키"] = 값 : 뷰에서 @ViewData["키"]
- return View(객체) : 뷰 상단에 @model 선언 후 @Model로 접근
View (Test.cshtml)

switch문 (Razor에서도 C# 그대로 사용 가능)

Model 출력

문법 요약
| @model | 뷰에 전달된 모델의 타입 선언 | @model List<string> |
| @{} | 코드 블록 | @{ var x = 1; } |
| @: | 순수 텍스트 출력 | @:hello |
| @@ | @ 문자 출력 | @@abc.com |
| @ViewData["key"] | ViewData 사용 | @ViewData["MyMsg"] |
| @Model | 전달받은 모델 객체 접근 | @Model.Count |
| @foreach | 반복문 | @foreach (var x in Model) |
| @switch | 조건 분기 | @switch (nation) { ... } |
결과 화면

정리
- Razor는 HTML 안에 C# 코드를 자연스럽게 삽입할 수 있게 해주는 뷰 템플릿 문법
- @는 C# 코드의 시작을 의미함
- Model, ViewData, ViewBag 등을 통해 데이터 전달 가능
- 작은 텍스트는 ViewData, 복잡한 구조는 Model로 넘기는 게 좋음