더북(TheBook)

2. MVC 뷰 페이지에서 특정 모델 기반으로 데이터를 표시하거나, 입력 받고자 한다면 해당 뷰 페이지 상단에 @model 키워드를 사용해 특정 모델 클래스를 지정할 수 있다. 이렇게 되면 해당 뷰 페이지는 단순 뷰 페이지가 아닌 강력한 형식의 뷰(Strongly Typed View)가 되어, 해당 뷰 페이지에서 헬퍼 메서드를 통해서 특정 타입에 대한 인텔리센스를 제공 받아 좀 더 수월하게 모델 기반 페이지를 구성할 수 있다. 컨트롤러에 GetPost용 액션 메서드를 다음과 같이 구성하고 Post 액션 메서드에는 앞서 생성한 MaximModel 클래스 타입의 매개 변수를 설정한다.

▼  /Controllers/FormValidationDemoController.cs의 StronglyTypeView 액션

#region Strongly Type View + Model Binding
public IActionResult StronglyTypeView()
{
  return View();
}

[HttpPost]
public IActionResult StronglyTypeView(MaximModel model)
{
  return View();
}
#endregion

 

매개 변수를 string 형식으로 각각 받는 것보다 MaximModel 클래스에 묶어서 받는 것이 훨씬 편리하다. MVC에서는 각각의 매개 변수를 그와 이름이 같은 모델 클래스의 속성으로 자동으로 연결해주는 기능을 제공하는 데 이를 모델 바인딩(Model Binding)이라고 한다.

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