执行动态路由时如何在ASP.NET Core 3.1中使用DataToken?

问题描述 投票:0回答:1

我正在使用ASP.NET Core 3.1中内置的类DynamicRouteValueTransformer来执行动态控制器路由,如下面的代码所示。

public class UrlRouteTransformer : DynamicRouteValueTransformer
{
    public override ValueTask<RouteValueDictionary> TransformAsync(HttpContext httpContext, RouteValueDictionary values)
    {
        var controller = "home";
        var action = "index";

        //Make decision here on which controller and action to call. i.e call the database etc

        values["controller"] = controller;
        values["action"] = action;

        return new ValueTask<RouteValueDictionary>(values);
    }
}

此代码可以正常工作,但是我想知道您将如何设置数据令牌?

asp.net-core url-routing asp.net-core-3.1 dynamic-routing
1个回答
0
投票

通过HttpContext类和GetRouteData扩展方法:

httpContext.GetRouteData().DataTokens["token"] = "value";

当然,token只是一个例子。

© www.soinside.com 2019 - 2024. All rights reserved.