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); }