307 Temporary Redirect
是否可以从 ASP.NET MVC 中的控制器返回一个?
我有时需要POST
将从一个表单提交的值重新提交到另一个 URI。
使用 JavaScript 在客户端进行选择(从而绕过此问题)不是一种选择。
通过 a 重定向GET
不是一个选项,因为发布的数据包含一个 8k 字符串,这可能意味着 URI 对于某些(很多?)浏览器来说太长了。
这甚至可能吗?
307 Temporary Redirect
是否可以从 ASP.NET MVC 中的控制器返回一个?
我有时需要POST
将从一个表单提交的值重新提交到另一个 URI。
使用 JavaScript 在客户端进行选择(从而绕过此问题)不是一种选择。
通过 a 重定向GET
不是一个选项,因为发布的数据包含一个 8k 字符串,这可能意味着 URI 对于某些(很多?)浏览器来说太长了。
这甚至可能吗?
要从 MVC 操作返回 307 重定向结果,请使用以下命令:
public ActionResult Action()
{
string url = GetRedirectUrl()
HttpContext.Response.AddHeader("Location", url);
return new HttpStatusCodeResult(307);
}
public RedirectResult (string url, bool permanent, bool preserveMethod);
所以
return Redirect(url, false, false); // 302
return Redirect(url, true, false); // 301
return Redirect(url, false, true); // 307
return Redirect(url, true, true); // 308
看看下面的文章——你可以对 307 使用相同的技术: