2010-06-22 3 views
7

Une question de suivi à: Aggregate on dictionary question.Comment obtenir l'itinéraire actuel dans HtmlHelper?

J'ai utilisé la fonctionnalité Aggregate Linq, mais peut-être y a-t-il une meilleure façon, plus propre, de le faire? Puis-je obtenir l'itinéraire actuel à partir du HtmlHelper?

Ou que suggérez-vous? Je veux faire un sélecteur de langue de manière à ce que lorsque je suis sur une page/route et que je clique sur une autre langue, la même action soit demandée mais avec une autre langue dans la route.

Quelque chose comme

FR/Accueil/Index et FR/Accueil/Index

Répondre

10

Vous pouvez facilement récupérer l'itinéraire actuel, ou des morceaux de celui-ci. En supposant qu'un HtmlHelper est votre contexte comme vous le dites, il devrait ressembler à ceci:

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(); 
    // ... 
} 
Questions connexes