更改ASP.NET Core Razor页面默认页面为Login登录页面
我整理了一个示例,展示了如何执行此操作:https : //github.com/mkArtakMSFT/Samples/blob/master/CustomPageRouteConvention/Conventions/DefaultRouteRemovalPageRouteModelConvention.cs
using Microsoft.AspNetCore.Mvc.ApplicationModels; public class DefaultRouteRemovalPageRouteModelConvention : IPageRouteModelConvention { private string routeToRemove; public DefaultRouteRemovalPageRouteModelConvention(string pageRoute) { this.routeToRemove = pageRoute; } public void Apply(PageRouteModel model) { for (int i = 0; i < model.Selectors.Count; i++) { var selector = model.Selectors[i]; for (int j = 0; j < selector.EndpointMetadata.Count; j++) { if ((selector.EndpointMetadata[j] as PageRouteMetadata)?.PageRoute == routeToRemove) { model.Selectors.Remove(selector); return; } } } } }
Startup.cs
public void ConfigureServices(IServiceCollection services) { services.AddRazorPages(options=> { options.Conventions.Add(new DefaultRouteRemovalPageRouteModelConvention(String.Empty)); options.Conventions.AddPageRoute("/Login", ""); }); }

浙公网安备 33010602011771号