访问 Razor 页面路由数据
Accessing Razor Page Route Data
我想获取 razor 页面的路由数据,以便根据所请求的 razor 页面在 app.use 中进行一些处理。如何获取正在提供的剃刀页面的 name/action。在 MVC 中,我使用 context.Request.RouteValues 访问控制器和操作方法。在使用 razor pages 时,您能否指导我进行等效操作。
提前致谢
Razor 页面中没有 controller/action。如果你想访问路由数据,你可以使用:
var datas = RouteData.Values;
//get page name/path
var path = RouteData.Values["page"];
如果您有路由数据参数,这些参数在路由模板中定义为 @page
的一部分:
@page "{title}"
您可以获得如下值:
var title = RouteData.Values["title"];
此外,您还可以从 HttpContext 获取页面 name/path :
var path = HttpContext.Request.Path;
如果您有重定向的处理程序 url,例如:
<a asp-page="Privacy" asp-page-handler="Menu2" asp-route-id1="p02" asp-route-id2="123">Menu 2</a> |
您可以使用以下方式获取处理程序:
var handler = HttpContext.Request.Query["handler"];
我想获取 razor 页面的路由数据,以便根据所请求的 razor 页面在 app.use 中进行一些处理。如何获取正在提供的剃刀页面的 name/action。在 MVC 中,我使用 context.Request.RouteValues 访问控制器和操作方法。在使用 razor pages 时,您能否指导我进行等效操作。 提前致谢
Razor 页面中没有 controller/action。如果你想访问路由数据,你可以使用:
var datas = RouteData.Values;
//get page name/path
var path = RouteData.Values["page"];
如果您有路由数据参数,这些参数在路由模板中定义为 @page
的一部分:
@page "{title}"
您可以获得如下值:
var title = RouteData.Values["title"];
此外,您还可以从 HttpContext 获取页面 name/path :
var path = HttpContext.Request.Path;
如果您有重定向的处理程序 url,例如:
<a asp-page="Privacy" asp-page-handler="Menu2" asp-route-id1="p02" asp-route-id2="123">Menu 2</a> |
您可以使用以下方式获取处理程序:
var handler = HttpContext.Request.Query["handler"];