2010-05-27 23 views
5

Denetleyicilerden birinde bir temel denetleyici uygulamak istiyorum. Bu ana kontrolörde, mevcut ActionResult ismini çalıştırabilmeyi isterim.Eylem adını temel denetleyiciden nasıl alabilirim?

Bunu yapmak için nasıl giderim?

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

Ve; Kontrolör anda örneğinin oluşturulmasını gibi

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

cevap

14

Kumandanın yapıcısı bu bilemez ve herhangi bir işlem yapılmamış adlandırılabilir. Ancak Initialize yöntemini geçersiz ve yönlendirme motorundan eylem adını alamadan:

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

Ah, parlak! Teşekkürler @Darin. – griegs

+0

@griegs, sizleri ağırlamaktan daha fazlası var. –

İlgili konular