0

我想设置 RouteData,但更改不适用于 HttpContext。

public class LocalizeRouteAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        context.RouteData.Values["culture"] = "en";
        string routeCulture = context.HttpContext.GetRouteValue("culture")?.ToString();
        // ON NET CORE 2.2 routeCulture return "en"
        // ON NET CORE 3.1 routeCulture return null

        base.OnActionExecuting(context);
    }
}

我错过了什么新东西吗?

要重现这种情况,您必须在新的 MVC 简单项目上创建过滤器并将其应用于 HomeController。它适用于 2.2,但不适用于 3.1。

4

0 回答 0