ASP.NET Razor Pagesのルーティング設定方法を完全ガイド!初心者でもURLの仕組みがわかる
生徒
「ASP.NETで作った画面って、どうやってURLとつながっているんですか?」
先生
「ASP.NET Razor Pagesでは、ファイルの場所がそのままURLになる仕組みが用意されています。」
生徒
「ファイル名がURLになるんですか?難しそうに聞こえます…」
先生
「大丈夫です。フォルダとファイルを“住所”として考えると、とても分かりやすいですよ。」
1. ルーティングとは何か?
ASP.NETにおけるルーティングとは、ブラウザからアクセスされたURLと、実際に表示する画面や処理を結びつける仕組みのことです。たとえば、インターネットの住所がURLで、その住所に対応する家がWebページだと考えてください。どの住所に行けば、どのページが表示されるのかを決めているのがルーティングです。
Razor Pagesでは、このルーティングがとてもシンプルに作られており、プログラミング未経験の人でも理解しやすいのが特徴です。
2. Razor Pagesの基本構造とURLの関係
ASP.NET Core Razor Pagesでは、Pagesフォルダの中にあるファイルが、画面とURLの基準になります。たとえば、Pagesフォルダの中にあるIndex.cshtmlは、Webサイトのトップページとして扱われます。
フォルダはURLの階層、ファイル名はページ名になります。これは、パソコンのフォルダ構成とほぼ同じ考え方なので、初めての人でも混乱しにくい仕組みです。
3. Index.cshtmlとトップページのルーティング
Razor Pagesで最も基本となるのがIndex.cshtmlです。このファイルは、特別な設定をしなくても、自動的にトップページとして認識されます。
Pages/
└ Index.cshtml
この構成の場合、ブラウザでアクセスするURLは「/」になります。難しい設定を書かなくても、ファイルを置くだけでページが表示される点が、Razor Pagesの大きな魅力です。
4. フォルダを使ったルーティングの考え方
次に、フォルダを使った場合のルーティングを見てみましょう。Pagesフォルダの中にAboutというフォルダを作り、その中にIndex.cshtmlを配置します。
Pages/
└ About/
└ Index.cshtml
この場合、URLは「/About」になります。フォルダ名がそのままURLの一部になるため、住所のように直感的に理解できます。Webサイトの構成を整理しやすく、ページ数が増えても迷いにくい設計です。
5. ファイル名を使ったルーティング
Index.cshtml以外のファイル名も、そのままURLとして利用できます。たとえば、Contact.cshtmlというファイルをPagesフォルダに置いた場合、URLは「/Contact」になります。
Pages/
├ Index.cshtml
└ Contact.cshtml
これにより、HTMLを書く感覚に近い形でWebページを増やせます。特別なルールを覚えなくても、ファイル名を見るだけでURLが想像できる点が初心者にとって安心です。
6. @pageディレクティブの役割
Razor Pagesのファイルには、先頭に@pageという記述があります。これは、「このファイルはURLから直接アクセスできるページですよ」とASP.NETに伝えるための合図です。
@page
<h1>お問い合わせ</h1>
<p>こちらはお問い合わせページです。</p>
@pageが書かれていない場合、そのファイルは画面として表示されません。ルーティングを有効にするための大切な一行なので、忘れずに入れることが重要です。
7. URLを指定するカスタムルーティング
Razor Pagesでは、@pageの後にURLを指定することで、ファイル名とは異なるURLを使うこともできます。これは、分かりやすいURLを作りたいときに役立ちます。
@page "/support"
<h1>サポートページ</h1>
この場合、ファイル名に関係なく「/support」でアクセスできます。URLを短くしたり、日本語ページ名を英語にしたりする際に便利な方法です。
8. Razor Pagesのルーティングが初心者に向いている理由
Razor Pagesのルーティングは、「フォルダとファイル=URL」という非常に分かりやすい設計になっています。複雑な設定ファイルを編集しなくても、画面を追加できるため、プログラミング未経験の人でも安心して学習を進められます。
また、URL構造が整理されやすく、検索エンジンにも理解されやすい構成を自然に作れる点も大きなメリットです。ASP.NETでWeb開発を始めるなら、Razor Pagesのルーティングは最初にしっかり理解しておきたい重要なポイントです。