2013-12-17 88 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永遠不會爲空,將永遠有鑰匙「控制器」和「控制器名稱行動」。如果我錯了,請糾正我。

相關問題