2013-12-17 59 views
4

有没有办法使用HttpContext或View上下文获取当前操作名称?在MVC3中,如何获取当前动作名称?

我可以使用

var routeValues = HttpContext.Current.Request.RequestContext.RouteData.Values; 

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

[ASP.NET MVC4:从控制器中获取控制器和动作名称?](http://stackoverflow.com/questions/18248547/asp-net-mvc4-get-controller-and-action-name -from-内控制器) –

回答

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

据我所知,ViewContext.RouteData.Values永远不会为空,将永远有钥匙“控制器”和“控制器名称行动”。如果我错了,请纠正我。

相关问题