在ASP.NET MVC中返回307临时重定向

Mat*_*cey 8 asp.net-mvc redirect http http-status-code-307

是否可以307 Temporary Redirect从ASP.NET MVC中的控制器返回?

有时需要POST将从一个表单提交的值重新设置为另一个URI.

使用JavaScript在客户端进行选择(从而绕过此问题)不是一种选择.

通过a重定向GET不是一个选项,因为发布的数据包含一个8k字符串,这可能意味着URI对于某些(很多?)浏览器来说太长了.

这甚至可能吗?

Str*_*ior 13

要从MVC操作返回307重定向结果,请使用以下命令:

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


Sas*_*san 5

ASP.NET 核心

 public RedirectResult (string url, bool permanent, bool preserveMethod);
Run Code Online (Sandbox Code Playgroud)

所以

return Redirect(url, false, false); // 302
return Redirect(url, true, false);  // 301
return Redirect(url, false, true);  // 307
return Redirect(url, true, true);   // 308
Run Code Online (Sandbox Code Playgroud)


Fin*_*nNk 2

看看下面的文章 - 您可以对 307 使用相同的技术:

301 重定向