public static RouteInformation FromExpression <TController>(LambdaExpression action, object routeValues = null) where TController : Controller { string actionName = action.GetActionName(); var controllerType = typeof(TController); string controllerName = controllerType.GetControllerName(); var routeValueDictionary = new RouteValueDictionary(routeValues); routeValueDictionary.ProcessParameters(action); routeValueDictionary.ProcessArea(controllerType); var routeInformation = new RouteInformation(actionName, controllerName, routeValueDictionary); return(routeInformation); }
public static void ProcessAction(this RouteValueDictionary routeValues, LambdaExpression action) { string actionName = action.GetActionName(); routeValues.AddOrUpdateRouteValue("Action", actionName); }