ChildAction想知道谁是来电者?

时间:2011-09-03 18:33:08

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

在子动作方法中,我需要知道在我之前调用的动作方法,以便我可以检测哪种动作方法会调用我。

我怎么知道呢?

3 个答案:

答案 0 :(得分:1)

在儿童行动中,只需使用ParentActionViewContext

[ChildActionOnly]
public ActionResult Foo()
{
    var parentActionName = ControllerContext
        .ParentActionViewContext
        .RouteData
        .GetRequiredString("action");
    ...
}

答案 1 :(得分:1)

@Darin,我认为这更简化了,

 RouteData.Route.GetRouteData(HttpContext).Values["action"]

答案 2 :(得分:-1)

最快

StackFrame sframe = new StackFrame(1);

如果要使用完整堆栈跟踪视图

StackTrace frame = new StackTrace();