Net Core 伪静态配置
创建伪静态类
using Microsoft.AspNetCore.Mvc.ApplicationModels; using System.Text; namespace Micro.Web { public class PageRouteModelConvention : IPageRouteModelConvention { public void Apply(PageRouteModel model) { var selectorsCount = model.Selectors.Count; for (var i = 0; i < selectorsCount; ++i) { var attributeRouteModel = model.Selectors[i].AttributeRouteModel; if(attributeRouteModel!= null) { //添加之前 if (string.IsNullOrEmpty(attributeRouteModel.Template)) continue; //该规则是否禁止链接的生成,默认为生成(支持TagHelpers) asp-page="/Index" attributeRouteModel.SuppressLinkGeneration = true; //添加新的路由模板 model.Selectors.Add(new SelectorModel { AttributeRouteModel = new AttributeRouteModel { //Order 路由匹配顺序 //SuppressLinkGeneration = true, Template = $"{attributeRouteModel.Template}.html", } }); } } } } }
Program.cs 调用
builder.Services.AddRazorPages().AddRazorPagesOptions(options => options.Conventions.Add(new PageRouteModelConvention()));