有没有简单的方法将字符串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"
希望这可以帮助。