ASP.NET Core でRazor Pages のルーティングを作成する (AddPageRoute を利用したルーティング) - ASP.NET Core

ASP.NET Core でRazor Pages のルーティングを作成するコードを紹介します。

プログラム例

UI/コード

ASP.NET Core プロジェクトを作成し、Pages フォルダを作成し、Razor PageのPage1.cshtmlを作成します。
Page1.cshtmlのコードは次の通りです。
@page
@model RazorPagesRoute.Pages.Page1Model
@{
}
<html>
  <head>
  </head>
  <body>
    <h2>ページ1です。</h2>
  </body>
</html>

Program.csのコードは次の通りです。(.NET 6を利用)
Program.cs
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddRazorPages(options =>
{
  options.Conventions.AddPageRoute("/Page1", "Start/");
});
var app = builder.Build();

app.UseRouting();
app.MapRazorPages();
app.Run();

解説

ルーティングの設定は builder.Services.AddRazorPages の第一引数で設定します。
次のコードでは、https://(アプリケーションルートURL)/Start のURLを https://(アプリケーションルートURL)/Page1 のRazorPageにルーティングします。
builder.Services.AddRazorPages(options =>
{
  options.Conventions.AddPageRoute("/Page1", "Start/");
});

実行結果

プロジェクトを実行します。Webブラウザが起動しますので、はじめに、https://(アプリケーションルートURL)/Page1のURLを開きます。 下図のRazorPageが表示されます。


続いて、Webブラウザでhttps://(アプリケーションルートURL)/StartのURLを開きます。 下図のRazorPageが表示されます。Page1と同じページが表示されており、/Start のURLを /Page1 へルーティングできていることが確認できます。


AddPageRoute() メソッドを利用してRazorPageでのルーティングを実装できました。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2022-04-25
作成日: 2022-04-22
iPentec all rights reserverd.