У меня есть вид, который используется для редактирования, скажем, заказов. Заказы имеют позиции, которые можно добавлять произвольно. Итак, основной вид и вложенные частичные представления.
Каждый фрагмент должен иметь форму ajax для настройки количества каждой позиции или чего-либо еще.
Таким образом:
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.)-->
<%
}
У меня есть контроллер, который выглядит так:
[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
}
Моя проблема в том, что когда я отправляю форму Ajax, я получаю метод Edit вместо методов EditLineItem. Оба маршрута нанесены на карту. Есть ли что-то вроде «вы не можете отправить форму Ajax внутри формы HTML», о которой я не знаю?