/// <summary>
        /// Executes the error route or it's parent. This function does not catch any exception.
        /// </summary>
        /// <param name="route">
        /// A <see cref="Routing.Route"/>
        /// </param>
        void executeErrorAction(Routing.Route route, BlackContext context)
        {
            Route currentRoute = route;

up_route:
            Route errorRoute = currentRoute.ErrorRoute;

            if (errorRoute == null && currentRoute.Parent != null)
            {
                currentRoute = currentRoute.Parent;
                goto up_route;
            }
            if (errorRoute == null)
            {
                context.writeDefaultErrorPage();
            }
            else
            {
                var errorAction = context.ActivateAction(errorRoute);
                errorAction.Execute(ActionExecuteType.Complete);
            }
        }
Example #2
0
 public BlackAction ActivateAction(Routing.Route route)
 {
     return(this.ActivateAction(route.ControllerType, route.ActionName));
 }