【问题标题】:In MVC3, how to get the current action name?在 MVC3 中,如何获取当前的动作名称?
【发布时间】: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-mvc asp.net-mvc-3 httpcontext


【解决方案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 永远不会为空,并且始终具有“控制器”和“动作”键。如果我错了,请纠正我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-06
    • 2020-04-19
    • 2016-02-01
    • 1970-01-01
    • 2016-11-02
    • 2017-12-27
    • 2011-09-08
    • 2011-06-17
    相关资源
    最近更新 更多