我有以下情况:
- 区域 A -> 部分视图 A -> 它在控制器 A
上使用 Ajax.BeginForm 调用操作"保存"- B区-B区>
我将"PartialView A"插入到"视图B"中,但Ajax.BeginForm表单操作正在调用控制器B操作而不是控制器A。
部分视图 A:
@using (Ajax.BeginForm(null, null, new AjaxOptions<br>
{
Url = Url.Action("Save", "ControllerA", null, Request.Url.Scheme),
HttpMethod = "Post",
}
控制器 A 操作:
[HttpPost]
public ActionResult Save(Model model)
{
}
我的目标是将分部视图重用/插入到其他视图中,而无需向视图的控制器添加任何其他操作。如何解决这种情况?非常感谢您的任何帮助。
为什么不简单地使用 Ajax.BeginForm 参数呢?
@using (Ajax.BeginForm("Save", "ControllerA", null, new AjaxOptions(){
HttpMethod = "POST"
}, new { id = "someRandomForm" }))
{
<div>
<!-- your html code -->
</div>
}
在控制器参数之后和new AjaxOptions()
参数之前添加null
,以某种方式使我们点击所需的控制器,这是ControllerA
我无法使Ajax.BeginForm按照我想要的方式工作,所以我的解决方法是使用我需要调用的特定控制器/操作来使用JQuery ajax调用。
你能试试这个吗
@using (Ajax.BeginForm("Save", "ControllerA", new AjaxOptions() { HttpMethod = "POST" }))