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

时间:2012-12-23 08:49:35

标签: asp.net-mvc-3 post action

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

2 个答案:

答案 0 :(得分:1)

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

  • 创建一个<form>,其action设置为指向您要呼叫的操作的网址。

  • 从客户端执行POST ajax请求

<强>更新

要重定向,您只需返回RedirectToRouteResult即可。通常使用RedirectToAction overloads available on Controller

之一完成

更新2

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

无法进行纯重定向,因为AFAIK重定向意味着:

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

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

答案 1 :(得分:0)

为什么呢?您无法通过http谓词定义重定向到后期操作。

为什么不直接调用您的其他操作方法而不是使用重定向?