2011-10-07 63 views
9

我正在使用一些第三方類。我想獲取我的控制器的路由值。不幸的是,它不會將當前正在執行的控制器交給我。我可以從HttpContext獲得它嗎?我可以從HttpContext獲得當前正在執行的控制器嗎?

類看起來類似:

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; 
     } 

現在我能manully檢查Request.RawUrl和分析,並做時髦的事情。但是,我不想寫這種類型,並在應用程序增長後遇到麻煩。 }

回答

8

您可以搜索在此對象的"controller""action"

HttpContext.Request.RequestContext.RouteData.Values 
7

在您正在執行什麼情況下不知道,但你可以從RequestContext的得到它:

RequestContext.RouteData.Values["controller"].ToString() 
相關問題