どのようなときに、なぜ Razor Pages を使用するのかを理解する
- 5 分
このユニットでは、ASP.NET Core アプリに Razor Pages を使用するタイミングと理由について説明します。
Razor Pages の利点
Razor Pages は、ASP.NET Core を使用して Web UI を構築するための、サーバー側のページ中心のプログラミング モデルです。 次のような利点があります。
- HTML、CSS、C# を使用して動的 Web アプリを簡単に設定できる。
- メンテナンスをより容易にするためにファイルを機能別に整理できる。
- Razor 構文を使用してマークアップとサーバー側の C# コードを組み合わせることができる。
Razor Pages では、サーバー ベースのコードを Web ページに埋め込むため 、Razor を利用します。 Razor 構文は、HTML と C# を組み合わせて動的レンダリング ロジックを定義します。 つまり、HTML マークアップ内で C# 変数とメソッドを使用して、実行時にサーバー上に動的 Web コンテンツを生成できます。 Razor ページは HTML、CSS、または JavaScript に代わるものではなく、これらのテクノロジを組み合わせて動的な Web コンテンツを作成することを理解しておくことが重要です。
懸念事項の分離
Razor Pages では、C# PageModel クラスに関する懸念事項の分離、Razor ページを対象としたデータ プロパティとロジック操作のカプセル化、HTTP 要求のページ ハンドラーの定義が強制されます。 PageModel クラスは、ASP.NET Core プロジェクト テンプレートによって自動的に生成される部分クラスです。 PageModel クラスは、Pages フォルダーに配置され、Razor ページの名前が付けられます。 たとえば、PageModel Razor ページのIndex.cshtml クラスの名前は IndexModel.cs です。
Razor Pages を使用すべきとき
次のようなときは、ASP.NET Core アプリで Razor Pages を使用します。
- 動的 Web UI を生成する必要があります。
- ページに重点を置いたアプローチを優先します。
- 部分ビューを使用して重複を減らしたい。
Razor Pages を使用すると、関連するページとそのロジックを独自の名前空間とディレクトリにまとめることで、ASP.NET Core ページの編成が簡素化されます。
注
ASP.NET Core では、Web アプリを構築するための モデルView-Controller (MVC) パターン もサポートされています。 モデル、ビュー、コントローラーを明確に分離する場合は、MVC を使用します。 Razor Pages と MVC はどちらも同じアプリ内で共存できます。 MVC はこのモジュールの範囲外です。
次のユニットでは、Razor Pages アプリのツアーを行います。