Я использую следующее, чтобы получить текущий контроллер и действие в asp.net MVC3:
var currentAction = routeData.GetRequiredString("action");
var currentController = routeData.GetRequiredString("controller");
Это отлично работает. Однако, если я вызываю это из частичного В представлении, которое вызывается из моего макета, "Layout" возвращается как текущий контроллер. Это, конечно, правильное поведение, но есть ли какой-либо способ получить доступ к имени родительского контроллера?
Отредактируйте для дальнейшего пояснения:
Я вызываю свой контроллер меню и частичное представление из _Layout.cshtml:
@Html.Action("Menu", "Layout")
Затем из этого частичного представления меню я вызываю код, который возвращает текущее действие и контроллер.