我有以下情况:
- 区域A - >; PartialView A - >它使用Ajax.BeginForm在Controller A上调用操作“Save”
- 区域B - >查看B
我在“View B”中插入了“PartialView A”,但Ajax.BeginForm表单操作调用的是Controller B操作而不是Controller A.
PartialView A:
@using (Ajax.BeginForm(null, null, new AjaxOptions<br>
{
Url = Url.Action("Save", "ControllerA", null, Request.Url.Scheme),
HttpMethod = "Post",
}
控制器动作:
[HttpPost]
public ActionResult Save(Model model)
{
}
我的目标是重用/将局部视图插入到其他视图中,而无需向视图的控制器添加任何其他操作。如何解决这种情况?非常感谢您的帮助。
答案 0 :(得分:3)
为什么不只是简单地使用Ajax.BeginForm参数?
@using (Ajax.BeginForm("Save", "ControllerA", null, new AjaxOptions(){
HttpMethod = "POST"
}, new { id = "someRandomForm" }))
{
<div>
<!-- your html code -->
</div>
}
在控制器参数之后和null
参数之前添加new AjaxOptions()
以某种方式让我们点击我们想要的控制器,即ControllerA
答案 1 :(得分:1)
我无法使Ajax.BeginForm按我的意愿工作,因此我的解决方法是使用我需要调用的特定控制器/操作来使用JQuery ajax调用。
答案 2 :(得分:0)
autoRehydrate()