自定义 Razor 页面可以访问请求和路由信息

Custom RazorPage get access to IRequest and Route Info

使用 ServiceStack 和 AspNetCore 的 Razor 实现如何访问 IRequest 以获取自定义 Razor 页面的路由信息​​?如果可能的话,最终我想获得路线上的 Name 属性。

public 摘要 class 自定义视图:RazorPage { public IRequest 请求 { 得到;放; } // 始终为 null

    protected Breadcrumb Breadcrumb
    {
        get
        {
            return new Breadcrumb(this.Req); // need to pass IRequest to breadcrumbs so it can produce them
        }
    }
}

路由是使用继承自 Route 的自定义属性定义的。

[CustomRoute("/message/{id}", View = "MessageDetailView", Name = "GetById")]

自定义路线:

 public class CustomRoute : RouteAttribute
    {
        public string Name { get; set; }
        public string View { get; set; }
        public CustomRoute(string path) : base(path) { }
        public CustomRoute(string path, string verbs) : base(path, verbs) { }
    }

似乎至少在 Web 应用程序中(与自托管相反)以下工作:

 IRequest req = HostContext.TryGetCurrentRequest();