我正在尝试将部分视图从调用视图加载到div中,但是 部分视图加载到新页面。没有太多的代码,我尝试了各种各样的 来自其他帖子的方式,但它仍然加载到新页面。所以我想我可能会遗漏一些基本的东西。
控制器
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index()
{
return View();
}
public ActionResult Test()
{
return PartialView("Test");
}
查看
<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
@using (Ajax.BeginForm("Test", "Home", new AjaxOptions { InsertionMode=InsertionMode.Replace, UpdateTargetId = "mydiv" }))
{
@Ajax.ActionLink("Save", "Test", "Home", new AjaxOptions{ });
}
<div id="mydiv">
@Html.Partial("Test")
</div>
PartialView
<h1>Test</h1>
答案 0 :(得分:23)
关于您的代码的几点评论:
Ajax.*
帮助程序不再使用已弃用的MS AJAX而不支持jQuery,因此您的脚本包含错误。你需要包含jquery 因此,您的代码可能会在以下行中显示:
<script src="@Url.Content("~/scripts/jquery-1.4.4.js")" type="text/javascript"></script>
@Ajax.ActionLink("Save", "Test", "Home", new AjaxOptions {
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "mydiv"
})
<div id="mydiv">
@Html.Partial("Test")
</div>
答案 1 :(得分:12)
将此行添加到您的页面(母版页或布局)
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
紧跟在MicrosoftMvcAjax.js之后。
答案 2 :(得分:1)
我认为您应该使用<input type="submit" />
代替@Ajax.Actionlink(...)
在MVC4中,您可以在@Scripts.Render("~/bundles/jqueryval")
之后添加包@Scripts.Render("~/bundles/jquery")
,或者在页面视图的脚本部分添加脚本引用,如下所示:
@section scripts
{
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
}
祝你好运。
答案 3 :(得分:0)
您的部分需要在ajax表格内