如何在HtmlHelper中获取当前路由?

时间:2010-06-22 09:35:47

标签: asp.net-mvc

后续问题:Aggregate on dictionary question

我使用了Aggregate Linq功能,但也许还有更好,更干净的方法呢?

我可以从HtmlHelper获取当前路线吗?或者你的建议是什么?我想创建一个语言切换器,以便当我在页面/路由上并单击另一种语言时,会请求相同的操作,但路径中使用另一种语言。

这样的东西

EN /主页/指数 FR /主页/指数

1 个答案:

答案 0 :(得分:10)

您可以轻松检索当前路线或其中的部分路线。假设你说的HtmlHelper是你的上下文,它应该是这样的:

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