public void OnActionExecuting(ActionExecutingContext filterContext) { var allParms = filterContext.ActionDescriptor.GetParameters(); var pathParms = allParms.Where(p => p.GetCustomAttributes(typeof(FromPathAttribute), true).Any()); foreach (var parm in pathParms) { var path = filterContext.CurrentParameterValue(parm.ParameterName); filterContext.ActionParameters[parm.ParameterName] = AdjustPath(path, parm.ParameterType); } }