有没有简单的方法将字符串URL转换为RouteValueDictionary集合?一些方法像UrlToRouteValueDictionary(string url)。
我需要这样的方法,因为我想根据我的路由设置“解析”URL,修改一些路由值,并使用urlHelper.RouteUrl()根据修改的RouteValueDictionary集合生成字符串URL。
谢谢。
解决方法
这是一个不需要嘲笑的解决方案:
- var request = new HttpRequest(null,"http://localhost:3333/Home/About","testvalue=1");
- var response = new HttpResponse(new StringWriter());
- var httpContext = new HttpContext(request,response);
- var routeData = RouteTable.Routes.GetRouteData(new HttpContextWrapper(httpContext));
- var values = routeData.Values;
- // The following should be true for initial version of mvc app.
- values["controller"] == "Home"
- values["action"] == "Index"
希望这可以帮助。