Return 307 Temporary Redirect in ASP.NET MVC

2019-02-17 00:17发布

问题:

Is it possible to return a 307 Temporary Redirect from a controller in ASP.NET MVC?

I sometimes need to re-POST the values submitted from one form to another URI.

Using JavaScript to do the selection on the client side (thereby bypassing this issue) is not an option.

Redirecting via a GET is not an option as posted data includes an 8k string which is likely to mean that the URI would be too long for some (many?) browsers.

Is this even possible?

回答1:

Take a look at the following article - you can use the same technique for 307:

301 Redirects



回答2:

To return a 307 redirect result from an MVC action, use the following:

public ActionResult Action()
{
    string url = GetRedirectUrl()
    HttpContext.Response.AddHeader("Location", url);
    return new HttpStatusCodeResult(307);
}