2010-06-22 19 views
7

Câu hỏi tiếp theo tới: Aggregate on dictionary question.Cách nhận tuyến đường hiện tại trong HtmlHelper?

Tôi đã sử dụng chức năng Tổng hợp LINQ nhưng có lẽ có cách tốt hơn, sạch hơn hơn, để làm điều đó?

Tôi có thể lấy tuyến đường hiện tại từ HtmlHelper không? Hoặc bạn đề nghị gì? Tôi muốn tạo trình chuyển đổi ngôn ngữ để khi tôi đang ở trên trang/tuyến đường và nhấp vào ngôn ngữ khác, hành động tương tự sẽ được yêu cầu nhưng với một ngôn ngữ khác trong tuyến đường.

Something như

EN/Home/IndexFR/Home/Index

Trả lời

10

Bạn có thể dễ dàng lấy lại tuyến đường hiện tại, hoặc đoạn nào của nó. Giả sử một HtmlHelper là bối cảnh của bạn như bạn nói, nó sẽ giống như thế này:

public static MvcHtmlString SomeHelper(this HtmlHelper html) { 
    RouteBase route = html.ViewContext.RouteData.Route; 
    string action = html.ViewContext.RouteData.Values["action"].ToString(); 
    string controller = html.ViewContext.RouteData.Values["controller"].ToString(); 
    // ... 
} 
Các vấn đề liên quan