asp.net-mvc - 自動化 - routedata c#



ベースコントローラからアクション名を取得するにはどうすればよいですか? (1)

コントローラーが現在インスタンス化されているため、まだアクションを呼び出すことができないため、コントローラーのコンストラクターでこれを知ることはできません。 ただし、 Initializeメソッドをオーバーライドして、ルーティングエンジンからアクション名を取得することもできます。

protected override void Initialize(RequestContext requestContext)
{
    base.Initialize(requestContext);
    var actionName = requestContext.RouteData.Values["action"];
}

私は私のコントローラの1つにベースコントローラを実装したいと思います。 そのベースコントローラ内で、現在実行中のActionResult名を取得できるようにしたいと思います。

これをどうやってやりますか?

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

そして;

public class ControllerBase : Controller
{
    public ControllerBase()
    {
        //method which will get the executing ActionResult
    }
}




controller