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