Mam widok, który jest używany do edycji rzeczy, na przykład Zamówienia. Zamówienia mają elementy zamówienia, które można dowolnie dodawać. Tak więc główny widok i zagnieżdżone widoki częściowe.Ajax.BeginForm wewnątrz Html.BeginForm
Każda cząstka powinna mieć formularz ajaxowy do poprawiania ilości każdego elementu zamówienia lub cokolwiek innego.
Zatem:
Html.BeginForm()
{%>
Ship to: blah blah blah
<%
Ajax.BeginForm("EditLineItem", "Order", new { OrderLineItemID = Model.ObjectID }, itemAjaxOptions))
{
Item qty blah blah blah
<--! (ajax form's submit button, etc.)-->
}
%>
<--! (ajax form's submit button, etc.)-->
<%
}
Mam kontroler, który wygląda tak:
[ActionName("Edit")]
[AcceptVerbs(HttpVerbs.Post)]
[ValidateAntiForgeryToken]
public ActionResult Edit(int orderID)
{
blah, blah
}
[ActionName("EditLineItem")]
[AcceptVerbs(HttpVerbs.Post)]
[ValidateAntiForgeryToken]
public ActionResult EditLineItem(Guid orderLineItemID)
{
blah, blah
}
Mój problem jest, że kiedy wysłać formularz Ajax, mam metodę Edit zamiast metod EditLineItem . Obie trasy są mapowane. Czy jest coś takiego jak "nie możesz przesłać formularza Ajax w formularzu HTML", o którym nie wiem?