我有一个用于编辑东西的视图,比如订单.订单包含可以任意添加的订单项.所以主视图和嵌套的偏见视图.
每个部分应该有一个ajax表单,用于调整每个行项目的数量或其他.
从而:
Html.BeginForm()
{%>
Ship to: blah blah blah
Ajax.BeginForm("EditLineItem", "Order", new { OrderLineItemID = Model.ObjectID }, itemAjaxOptions))
{
Item qty blah blah blah
}
%>
}
我有一个看起来像这样的控制器:
[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方法.两个路由都已映射.是否有一些问题,比如"你不能在Html表单中提交Ajax表单",我不知道?
博客作者在ASP.NET MVC应用中遇到一个问题,即在主视图内嵌套了一个Ajax表单用于编辑订单项,但提交时调用的是`Edit`方法而非预期的`EditLineItem`方法。他们已经正确地设置了路由,但仍然出现错误。作者怀疑可能是HTML表单与Ajax表单混用导致的问题。
1万+

被折叠的 条评论
为什么被折叠?



