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

Nyl*_*ska 7 asp.net-mvc

一个后续问题:汇总字典问题.

我使用了Aggregate Linq功能但也许有更好,更干净的方法来做到这一点?

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

就像是

EN/Home/IndexFR/Home/Index

Nat*_*lor 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();
    // ...
}
Run Code Online (Sandbox Code Playgroud)