我有一个用于编辑东西的视图,比如Orders。订单包含可以任意添加的订单项。所以主视图和嵌套的部分视图。Ajax.BeginForm在Html.BeginForm里面
每个部分都应该有一个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表单,我得到的编辑方法,而不是EditLineItem方法。两条路线都被映射。有没有像我不知道的“你不能在一个Html表单中提交Ajax表单”的问题?