public static ViewResult ErrorViewWithGoBackToIndexDestination(this Controller controller, string viewName, HttpStatusCode responseStatusCode, string instanceName, string message = DefaultText, string actionLinkText = DefaultText) { string controllerName = controller.GetCallingControllerName(); string actionName = controller.GetCallingActionName(); string areaName = controller.GetCallingAreaName(); string linkText = actionLinkText; if (string.IsNullOrEmpty(linkText)) { linkText = Regex.Replace(actionName, @"(?<!\A)(?=[A-Z0-9]+)", " "); } var linkViewModel = new ActionMetaViewModel { ActionLinkText = linkText, Message = message, AreaName = areaName, ControllerName = controllerName, ActionName = actionName }; var backViewModel = new ActionMetaViewModel { ActionLinkText = Strings.DefaultBackToListActionLinkTitle, ActionName = ActionNames.DeafultIndexActionName, ControllerName = controllerName, AreaName = areaName }; return(controller.ErrorView(viewName, responseStatusCode, instanceName, linkViewModel, backViewModel)); }
public static ViewResult ErrorViewWithGoBackToIndexDestination( this Controller controller, string viewName, HttpStatusCode responseStatusCode, string instanceName, ActionMetaViewModel sourceAction) { var viewModel = new ActionMetaViewModel { ActionLinkText = Strings.DefaultBackToListActionLinkTitle, ActionName = ActionNames.DeafultIndexActionName, ControllerName = sourceAction.ControllerName, AreaName = sourceAction.AreaName }; return(controller.ErrorView(viewName, responseStatusCode, instanceName, sourceAction, viewModel)); }
public static ViewResult ErrorView( this Controller controller, string viewName, HttpStatusCode responseStatusCode, string instanceName, ActionMetaViewModel sourceAction, params ActionMetaViewModel[] destinationActions) { if (controller == null) { throw new ArgumentNullException(nameof(controller)); } if (string.IsNullOrWhiteSpace(viewName)) { throw new ArgumentNullException(nameof(viewName)); } if (sourceAction == null) { throw new ArgumentNullException(nameof(sourceAction)); } controller.Response.StatusCode = (int)responseStatusCode; var view = new ViewResult { ViewName = viewName, ViewData = new ViewDataDictionary(controller.ViewData) { Model = new ErrorMetaViewModel { ErrorCode = (int)responseStatusCode, Message = responseStatusCode.ToString(), InstanceName = instanceName, SourceAction = sourceAction, DestinationActions = destinationActions } } }; return(view); }