重定向到发布方法/操作

时间:2011-03-28 14:44:29

标签: asp.net asp.net-mvc

我有一个接受POST的ActionResult,但是有一个解决方法让我从控制器重定向到另一个包含这个POST方法/动作的控制器???

这是我重定向到的方法的签名;

[ValidateAntiForgeryToken]
 [Transaction]
 [AcceptVerbs(HttpVerbs.Post)]
 public ActionResult Edit(Payment payment, PaymentApplication paymentApplication, string exchangeId, bool manual, int firstPaymentId, int? exchangeEventId, bool addOnly)
{

}

2 个答案:

答案 0 :(得分:2)

您无法使用RedirectToAction来调用POST方法。为了您的特殊需要,只需新建控制器并直接从另一个控制器调用该方法,传递任何参数。

var controller = new YourControllerWithMethodToCall();
controller.Edit(payment, etc...);

答案 1 :(得分:0)

是的,你可以做到这一点

       <% using (Html.BeginForm("Edit", "AnotherController", FormMethod.Post, new { id = "formNameHere" }))
           {%>
    //form content here

<input type="submit" Value="Post Me" id="PostMe">
     <%} %>

在ActionNameParameter中你可以编写你的Action,在ControllerNameParameter中你可以编写你想要发布数据的controllername。