自定义 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();
使用 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();