Example #1
0
        private string FormatOrRenewParameter(ControllerContext controllerContext, string then)
        {
            var httpContext = controllerContext.RequestContext.HttpContext;
            var request     = httpContext.Request;
            var server      = httpContext.Server;

            if (string.IsNullOrWhiteSpace(then))
            {
                if (ReferrerAllowed && request.UrlReferrer != null)
                {
                    var reffererUrl = request.UrlReferrer.ToString();

                    if (httpContext.Url().IsLocalUrl(reffererUrl))
                    {
                        then = reffererUrl;
                    }
                }

                if (then.AsNullIfEmpty() == null)
                {
                    if (RouteName.AsNullIfEmpty() == null)
                    {
                        RouteName   = DefaultRouteName;
                        RouteValues = null;
                    }

                    var defaultUrl = RouteName.GetUrl(RouteValues);

                    if (httpContext.Url().IsLocalUrl(defaultUrl))
                    {
                        then = defaultUrl;
                    }
                }
            }

            then = FilterMultipleThensIfExists(server, then);

            return(then);
        }