我想重定向到另一个控制器的动作方法,以便浏览器发出POST而不是GET动词。
有可能吗?
答案 0 :(得分:2)
HTTP术语中“重定向”的性质是浏览器对特定URL执行HTTP GET的指令。
因此,在HTTP术语中 - 这是不可能的。
然而:)
假设RedirectToAction("ActionMethod", "Controller", new { param = value })
设置为return View("ActionMethod", value)
,而不是value
,您可以执行ActionMethod
,它会将[HttpPost]
作为HTTP POST正文中的键/值对传递[HttpPost]
public ActionResult ActionMethod(string param)
{
}
,如此:
{{1}}
但是,请记住,不会执行重定向 - 它类似于ASP.NET Web窗体中的跨页回发。