我正在使用 Asp.Net MVC,但我遇到了表单问题。 我在视图内有一个部分视图,该视图内有一个表单。
看起来像这样:
Main.cshtml 内部
<div id="Artikel" hidden>
@Html.Action("_Artikel", Model);
</div>
这将呈现部分视图。
部分视图的控制器
public ActionResult _Artikel()
{
return PartialView()
}
所有这些都工作正常,但是当我发射我的
Ajax.BeginForm(...)
时,它取代了整个视图,而不仅仅是 Arikel Div。
部分视图内
@using (Ajax.BeginForm("_Artikel", "Home", new AjaxOptions { HttpMethod = "post", InsertionMode = InsertionMode.Replace, UpdateTargetId = "Artikel" }))
{
...
}
我读了很多文章,说 jQuery.Unobtrusive.Ajax 在最新版本的 jQuery 中不支持。
但我实在不明白为什么它总是占据整个页面。 有人能帮我吗?如果您需要更多代码,请询问。
确保启用 Unobtrusive JavaScript
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
在您的 web.config 文件的 appSettings 中。
在我非常旧的网络应用程序中,问题是同一页面上使用了不同版本的 jquery。 当然,无论如何都要避免这种情况。只是在这里提到它,以便其他人可以将此错误(Ajax.BeginForm 替换整个页面)链接到混乱的 JavaScript 设置。