2011-10-07 34 views
9

Bazı 3. parti sınıfları kullanıyorum. Kontrol cihazımın rutinlerini oraya almak istiyorum. Ne yazık ki, yürütmekte olan mevcut denetleyiciyi bana vermiyor. HttpContext'ten alabilir miyim? Şimdi manully Request.RawUrl incelemek ve ayrıştırmak ve korkak şeyler yapabilirGeçerli yürütme denetleyicisini HttpContext'ten alabilir miyim?

public class ServiceStationVisibilityProvider 
     : ISiteMapNodeVisibilityProvider 
    { 

     public bool IsVisible(SiteMapNode node, HttpContext context, IDictionary<string, object> sourceMetadata) 
     { 
      node.Title = DateTime.Now.ToString(); //need to access routevalues and set title 
      return true; 
     } 

:

sınıf gibi görünür. Ancak, ben bu tür yazmak istemiyorum ve uygulama büyüdüğünde daha sonra sorun oluyorum. }

cevap

8

HttpContext.Request.RequestContext.RouteData.Values 
7

, yürütme hangi bağlamda emin ama RequestContext mal alabilirsiniz değil: Bu nesnede "controller" ve "action" değerlerini arama yapabilirsiniz

RequestContext.RouteData.Values["controller"].ToString() 
İlgili konular