Net Core 伪静态配置

创建伪静态类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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 调用

1
builder.Services.AddRazorPages().AddRazorPagesOptions(options => options.Conventions.Add(new PageRouteModelConvention()));

 

posted @   microsoft-zhcn  阅读(70)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 全程不用写代码,我用AI程序员写了一个飞机大战
点击右上角即可分享
微信分享提示