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