Ajax BeginForm - 在不同控制器上的调用操作



我有以下情况:
- 区域 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" }))

最新更新