Как я получаю имя действия от основного контроллера?

Я хотел бы реализовать основной контроллер на одном из моих контроллеров. В том основном контроллере я хотел бы смочь получить текущее выполнение название ActionResult.

Как я пошел бы о выполнении этого?

public class HomeController : ControllerBase
{
    public ActionResult Index()
    {

И;

public class ControllerBase : Controller
{
    public ControllerBase()
    {
        //method which will get the executing ActionResult
    }
}
5
задан griegs 27 May 2010 в 05:40
поделиться

1 ответ

Вы не можете узнать это в конструкторе контроллер, поскольку контроллер в настоящее время создается, и действие еще не может быть вызвано. Однако вы можете переопределить метод Initialize и получить имя действия из механизма маршрутизации:

protected override void Initialize(RequestContext requestContext)
{
    base.Initialize(requestContext);
    var actionName = requestContext.RouteData.Values["action"];
}
15
ответ дан 18 December 2019 в 11:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: