Ho una vista che viene utilizzata per la modifica di materiale, ad esempio Ordini. Gli ordini hanno elementi pubblicitari che possono essere aggiunti arbitrariamente. Quindi una vista principale e viste parziali nidificate.Ajax.BeginForm all'interno Html.BeginForm
Ogni partial dovrebbe avere un modulo Ajax per la regolazione di quantità di ogni elemento pubblicitario o altro.
Così:
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.)-->
<%
}
Ho un controller che assomiglia a questo:
[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
}
Il mio problema è che quando ho presentare il modulo di Ajax, ho il metodo Edit invece dei metodi EditLineItem . Entrambi i percorsi sono mappati. C'è qualche trucco come "non puoi inviare un modulo Ajax all'interno di un modulo Html" di cui non sono a conoscenza?