0

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

公共抽象类 CustomView : RazorPage { public IRequest Req { get; 放; } // 始终为空

    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) { }
    }
4

1 回答 1

0

似乎至少在 Web 应用程序(而不是自托管)中,以下工作:

 IRequest req = HostContext.TryGetCurrentRequest();
于 2017-07-24T19:51:51.337 回答