Razor Pages를 사용해야 하는 경우 및 이유 이해
이 단원에서는 ASP.NET Core 앱에 대해 Razor Pages를 사용해야 하는 경우와 이유를 알아봅니다.
Razor Pages의 이점
Razor Pages는 ASP.NET Core를 사용하여 웹 UI를 빌드하기 위한 서버 쪽 페이지 중심 프로그래밍 모델입니다. 이점은 다음과 같습니다.
- HTML, CSS, C#을 사용하여 동적 웹앱을 쉽게 설정할 수 있습니다.
- 보다 쉬운 유지 관리를 위해 기능별로 파일을 구성합니다.
- Razor 구문을 사용하여 태그를 서버 쪽 C# 코드와 결합합니다.
Razor Pages는 Razor를 활용하여 서버 기반 코드를 웹 페이지에 포함합니다. Razor 구문은 HTML과 C#을 결합하여 동적 렌더링 논리를 정의합니다. 즉, HTML 태그 내에서 C# 변수 및 메서드를 사용하여 런타임 시 서버에서 동적 웹 콘텐츠를 생성할 수 있습니다. Razor Pages는 HTML, CSS 또는 JavaScript를 대체하는 것이 아니라 이러한 기술을 결합하여 동적 웹 콘텐츠를 만드는 것임을 이해하는 것이 중요합니다.
문제의 분리
Razor Pages는 C# PageModel
클래스를 사용하여 문제를 분리하고, Razor 페이지로 범위가 지정된 데이터 속성 및 논리 작업을 캡슐화하고, HTTP 요청에 대한 페이지 처리기를 정의합니다. PageModel
클래스는 ASP.NET Core 프로젝트 템플릿에서 자동으로 생성되는 partial 클래스입니다. PageModel
클래스는 Pages
폴더에 있으며 Razor 페이지의 이름을 따서 명명됩니다. 예를 들어 Index.cshtml
Razor 페이지의 PageModel
클래스 이름은 IndexModel.cs
입니다.
Razor Pages를 사용해야 하는 경우
다음과 같은 경우에 ASP.NET Core 앱에서 Razor Pages를 사용합니다.
- 동적 웹 UI를 생성하려고 합니다.
- 페이지 중심 접근 방식을 선호합니다.
- 부분 보기로 중복을 줄이려고 합니다.
Razor Pages는 관련 페이지와 해당 논리를 고유한 네임스페이스 및 디렉터리에 함께 유지하여 ASP.NET Core 페이지 조직을 간소화합니다.
참고
ASP.NET Core는 웹앱 빌드를 위해 MVC(Model-View-Controller) 패턴도 지원합니다. 모델, 뷰, 컨트롤러를 명확하게 구분하는 것을 선호하는 경우 MVC를 사용합니다. 동일한 앱 내에서 Razor Pages와 MVC를 모두 사용할 수 있습니다. MVC는 이 모듈의 범위를 벗어납니다.
다음 단원에서는 Razor Pages 앱을 둘러보겠습니다.