使用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) { }
}
答案 0 :(得分:0)
似乎至少在Web应用程序(而不是自托管)中,以下工作:
IRequest req = HostContext.TryGetCurrentRequest();