You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Razor Pages中配置多路由匹配规则,满足同页面多URL访问需求

调整路由配置方案

你可以直接在对应Razor页面顶部声明多个@page路由模板,单个页面支持绑定多套路由规则,无需拆分页面,调整后配置如下:

// 匹配传入客户ID的场景
@page "/customer/{action}/{id?:long}"
// 匹配传入部门+员工名称的场景
@page "/customer/{action}/{department}/{name}"

参数接收与逻辑处理

你只需要在页面对应的Model类中声明对应可空参数,根据参数存在情况走对应业务逻辑即可:

public class EditModel : PageModel
{
    // 第一种场景的接收参数
    public long? Id { get; set; }
    // 第二种场景的接收参数
    public string? Department { get; set; }
    public string? Name { get; set; }

    public async Task OnGetAsync()
    {
        if (Id.HasValue)
        {
            // 执行按客户ID查询的逻辑
        }
        else if (!string.IsNullOrEmpty(Department) && !string.IsNullOrEmpty(Name))
        {
            // 执行按部门+员工名称查询的逻辑
        }
        // 剩余表单渲染逻辑复用即可
    }
}

注意事项

  • 两套路由因为参数段数不同,不会出现匹配冲突,会自动根据访问URL的段数匹配对应规则
  • 路由匹配遵循从上到下的优先级,如果你后续加更复杂的规则,建议把更精准的路由放在前面声明

内容的提问来源于stack exchange,提问作者Ali EXE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 04:06:07