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.cssubUser

しかし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 に答える