在 MVC3 中,如何获取当前的动作名称?
Posted
技术标签:
【中文标题】在 MVC3 中,如何获取当前的动作名称?【英文标题】:In MVC3, how to get the current action name? 【发布时间】:2013-12-17 05:47:55 【问题描述】:有没有办法使用 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();
【问题讨论】:
ASP.NET MVC4: Get controller and action name from within controller?的可能重复 【参考方案1】:var routeValues = HttpContext.Current.Request.RequestContext.RouteData.Values;
if (routeValues != null)
if (routeValues.ContainsKey("action"))
var actionName = routeValues["action"].ToString();
【讨论】:
感谢您的简化,@PeterB!【参考方案2】:ViewContext.RouteData.Values["action"]
据我所知,ViewContext.RouteData.Values 永远不会为空,并且始终具有“控制器”和“动作”键。如果我错了,请纠正我。
【讨论】:
以上是关于在 MVC3 中,如何获取当前的动作名称?的主要内容,如果未能解决你的问题,请参考以下文章