【问题标题】:Accessing Razor Page Route Data访问 Razor 页面路由数据
【发布时间】:2020-05-01 18:08:23
【问题描述】:

我想获取 razor 页面的路由数据,以便在 app.use 中根据请求的 razor 页面进行一些处理。如何获取正在服务的剃须刀页面的名称/操作。在 MVC 中,我使用 context.Request.RouteValues 来访问控制器和操作方法。使用剃须刀页面时,您能否指导我找到等效的方法。 提前致谢

【问题讨论】:

    标签: asp.net-core razor-pages


    【解决方案1】:

    Razor 页面中没有控制器/动作。如果你想访问路线数据,你可以使用:

    var datas = RouteData.Values;
    
    //get page name/path 
    
    var path  = RouteData.Values["page"];
    

    如果您有路由模板中定义的路由数据参数作为@page 的一部分:

    @page "{title}"
    

    你可以得到这样的值:

    var title = RouteData.Values["title"];
    

    此外,还可以从 HttpContext 中获取页面名称/路径:

    var path = HttpContext.Request.Path;
    

    如果您有处理程序来重定向网址,例如:

    <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"];
    

    【讨论】:

    • 谢谢..明白了
    猜你喜欢
    • 2018-10-16
    • 2021-10-02
    • 2023-03-24
    • 2018-10-18
    • 2019-05-22
    • 2020-12-09
    • 2018-07-07
    • 2019-12-15
    • 1970-01-01
    相关资源
    最近更新 更多