Asp.Net MVC部分视图表单帖子取代整个页面

时间:2017-05-29 21:10:44

标签: jquery ajax asp.net-mvc

我正在使用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的问题。最新版本的jQuery不支持.Unobtrusive.Ajax。

但我真的无法弄清楚为什么它总是占用整个页面。 有人能帮我吗?如果您需要更多代码请求它。

2 个答案:

答案 0 :(得分:2)

确保启用Unobtrusive JavaScript

spool
web.config 文件的 appSettings 中的

答案 1 :(得分:0)

问题其实是你没有把jquery.unobtrusive-ajax.min.js的链接放在main layout里面。检查 ~/Scripts/jquery.unobtrusive-ajax.min.js 是否已加载。如果未加载,浏览器会将部分视图作为完整页面打开。我遇到了这样的问题,然后我按以下方式放置了链接。它开始工作了。

enter image description here