重定向以从另一个操作发布操作

Moh*_*ari 5 post action asp.net-mvc-3

我想从MVC3控制器中的另一个操作重定向到后期操作.我怎样才能做到这一点?

Cri*_*scu 1

有两种基本方法可以做到这一点:

  • 创建一个<form>,将其设置action为指向您要调用的操作的 URL。

  • 从客户端发出 POST ajax 请求

更新

要重定向,您只需返回一个RedirectToRouteResult. RedirectToAction通常这是使用上可用的重载Controller之一来完成的。

更新2

如果目标操作仅是 POST(假设它被称为TargetAction),您可以创建一个允许 GET 并执行 操作的新操作return TargetAction()

纯粹的重定向是不可能的,因为据我所知,重定向意味着:

  • 服务器返回 3xx 重定向状态以及资源的新位置
  • 浏览器向上一步指示的位置发出 GET 请求。

但是,我建议您重新考虑控制器操作的设计,以尽可能避免这种情况。