2010-05-27 12 views
5

Ich möchte einen Basiscontroller auf einem meiner Controller implementieren. Innerhalb dieses Basis-Controllers möchte ich den aktuell ausgeführten ActionResult-Namen abrufen können.Wie bekomme ich den Aktionsnamen von einem Basiscontroller?

Wie würde ich das machen?

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

Und;

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

Antwort

14

Sie können dies nicht in dem Konstruktor der Controller wissen, wie der Regler zur Zeit instanziiert wird und keine Aktion könnte noch genannt werden. Sie könnten jedoch die Initialize Methode überschreiben und den Aktionsnamen aus der Routing-Engine holen:

+0

Ah, brilliant! Danke @Darin. – griegs

+0

@griegs, Sie sind mehr als willkommen. –

Verwandte Themen