在我的应用程序中,我有以下路线,就在默认路线之前:
routes.MapRoute(
name: "SubUser",
url: "{subUser}/{controller}/{action}/{id}",
defaults: new { subUser = "0", controller = "Home", action = "Index", id = UrlParameter.Optional },
constraints: new RouteValueDictionary { { "subUser", "[0-9]{11,14}" } }
);
我在CustomFilter
注册app_start/filterconfig.cs
,他会尝试在每个请求中恢复subUser
(如果存在),并将其保留到下一个响应中。
但是我无法在我的CustomFilter
中恢复它,在调试器上我可以看到另一个参数,但不是他。
我知道我做错了什么?
答案 0 :(得分:1)
你是如何尝试恢复此参数的?尝试使用routeValues。适合我。
public class LocalizationFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
string culture = filterContext.HttpContext.Request.RequestContext.RouteData.Values["culture"].ToString();
string subUser = filterContext.HttpContext.Request.RequestContext.RouteData.Values["subUser"].ToString();
}
}