我有一个接受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)
{
}
答案 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。