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