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

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が表示されます。
ASP.NET Core でRazor Pages のルーティングを作成する (AddPageRoute を利用したルーティング):画像1

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

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


AddPageRoute() メソッドを利用してRazorPageでのルーティングを実装できました。

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2022-04-22
Copyright © 1995–2025 iPentec all rights reserverd.