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を利用)
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