0

在我的应用程序中,我有以下路线,就在默认路线之前:

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的调试器上恢复它,我可以看到另一个参数,但看不到他。知道我做错了什么吗?

4

1 回答 1

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();       
    }
}
于 2013-06-08T12:40:46.847 回答