2011-10-07 27 views
9

Tôi đang sử dụng một số lớp của bên thứ 3. Tôi muốn có được những định tuyến của bộ điều khiển của tôi trong đó. Thật không may nó không cho tôi bộ điều khiển hiện tại đang thực thi. Tôi có thể lấy nó từ HttpContext không?Tôi có thể lấy bộ điều khiển thực hiện hiện tại từ HttpContext không?

Lớp trông giống như sau:

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

Bây giờ tôi có thể kiểm tra manully Request.RawUrl và phân tích và làm những việc sôi nổi. Tuy nhiên, tôi không muốn viết loại đó và rơi vào rắc rối sau này khi ứng dụng phát triển. }

Trả lời

8

Bạn có thể tìm kiếm các giá trị của "controller""action" trong đối tượng này

HttpContext.Request.RequestContext.RouteData.Values 
7

Không chắc trong bối cảnh những gì bạn đang thực hiện, nhưng bạn có thể lấy nó từ RequestContext:

RequestContext.RouteData.Values["controller"].ToString() 
Các vấn đề liên quan