ASP.NET Core MVC では、タグヘルパーを使用する事で href を自動で生成する事ができます。
<ul class="navbar-nav flex-grow-1">
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
</li>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
</li>
</ul>
実行時にルーティングによって生成されるURLは href="/Home/Privacy" となります。この URL を href="/home/privacy" と小文字にしたい場合は、 Startup.cs の ConfigureServices() 内で AddRouting() のオプションで LowercaseUrls を true に設定します。
namespace AspNetTips.MvcSite
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddRouting(options => {
// ルーティングによって動的に生成されるURLを小文字にする
options.LowercaseUrls = true;
});
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 省略...
}
}
}
試作環境
- Windows 10 (20H2)
- Visual Studio 2019 (v16.8.3)
- .NET SDK 5.0.101
- ASP.NET Core 5.0 / MVC