ASP.NET Core でRazor Pages のルーティングを作成するコードを紹介します。
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を利用)
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でのルーティングを実装できました。