/// <summary>
        /// Create a redirection HTTP response message based on the response mode.
        /// </summary>
        /// <param name="controller"></param>
        /// <param name="uri"></param>
        /// <param name="parameters"></param>
        /// <param name="responseMode"></param>
        /// <returns></returns>
        public static string CreateRedirectHttp(
            this Controller controller,
            Uri uri,
            RouteValueDictionary parameters,
            ResponseMode responseMode)
        {
            switch (responseMode)
            {
            case ResponseMode.fragment:
                uri = uri.AddParametersInFragment(parameters);
                break;

            default:
                uri = uri.AddParametersInQuery(parameters);
                break;
            }

            return(uri.ToString());
        }
        public static RedirectResult CreateRedirectHttpTokenResponse(
            this Controller controller,
            Uri uri,
            RouteValueDictionary parameters,
            ResponseMode responseMode)
        {
            switch (responseMode)
            {
            case ResponseMode.fragment:
                uri = uri.AddParametersInFragment(parameters);
                break;

            case ResponseMode.query:
                uri = uri.AddParametersInQuery(parameters);
                break;
            }

            return(new RedirectResult(uri.AbsoluteUri));
        }