示例#1
0
 /// <summary>
 /// Redirects to the specified route by
 /// using <see cref="Expression{TDelegate}"/> for an action method,
 /// from which action name, controller name and route values are resolved.
 /// </summary>
 /// <typeparam name="TRedirectController">Controller, from which the action is specified.</typeparam>
 /// <param name="routeName">The name of the route to use for generating the URL.</param>
 /// <param name="action">
 /// The <see cref="Expression{TDelegate}"/>, from which action name,
 /// controller name and route values are resolved.
 /// </param>
 /// <returns>The created <see cref="RedirectToRouteResult"/> for the response.</returns>
 public static RedirectToRouteResult RedirectToRoute <TRedirectController>(
     this Controller controller,
     string routeName,
     Expression <Action <TRedirectController> > action)
 {
     return(controller.RedirectToRoute(routeName, action, routeValues: null));
 }
示例#2
0
        /// <summary>
        /// Redirects to the specified route by
        /// using <see cref="Expression{TDelegate}"/> for an action method,
        /// from which action name, controller name and route values are resolved,
        /// and the specified additional route values.
        /// </summary>
        /// <typeparam name="TRedirectController">Controller, from which the action is specified.</typeparam>
        /// <param name="routeName">The name of the route to use for generating the URL.</param>
        /// <param name="action">
        /// The <see cref="Expression{TDelegate}"/>, from which action name,
        /// controller name and route values are resolved.
        /// </param>
        /// <param name="routeValues">Additional route data to use for generating the URL.</param>
        /// <returns>The created <see cref="RedirectToRouteResult"/> for the response.</returns>
        public static RedirectToRouteResult RedirectToRoute <TRedirectController>(
            this Controller controller,
            string routeName,
            Expression <Action <TRedirectController> > action,
            object routeValues)
        {
            var expressionRouteValues = ExpressionRouteHelper.Resolve(action, routeValues, addControllerAndActionToRouteValues: true);

            return(controller.RedirectToRoute(
                       routeName,
                       expressionRouteValues.RouteValues));
        }