在MVC3中,如何获取当前的动作名称?

时间:2013-12-17 05:47:56

标签: asp.net-mvc asp.net-mvc-3 httpcontext

有没有办法使用HttpContext或View上下文来获取当前的操作名称?

我可以使用

获取控制器名称
    var routeValues = HttpContext.Current.Request.RequestContext.RouteData.Values;

    if (routeValues != null) 
    {
        if (routeValues.ContainsKey("controller"))
        {
            controllerName = HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString();
        }
    }
}

2 个答案:

答案 0 :(得分:16)

var routeValues = HttpContext.Current.Request.RequestContext.RouteData.Values;
if (routeValues != null) 
{
    if (routeValues.ContainsKey("action"))
    {
        var actionName = routeValues["action"].ToString();
    }
}

答案 1 :(得分:0)

ViewContext.RouteData.Values["action"]

据我所知,ViewContext.RouteData.Values将永远不会为空,并且将始终具有键" controller"和"行动"。如果我错了,请纠正我。