簡體   English   中英

我無法在自定義路由上恢復查詢字符串參數-MVC4

[英]I Can't recover query string parameter on my custom route - MVC4

在我的應用程序中,我遵循以下路線,即默認路線之前:

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}" } }
);

我在app_start/filterconfig.cs上注冊了一個CustomFilter ,它將嘗試在每個請求(如果存在)上恢復subUser ,並將其保留到下一個響應。

但是我無法在CustomFilter恢復它,在調試器上可以看到其他參數,但看不到他。 有什么想法我做錯了嗎?

您如何嘗試恢復此參數? 嘗試使用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();       
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM