请您解释一下我应该如何正确使用Ajax
。
我在Asp.Net MVC
中有一个简单的例子:
这是我的布局视图
<html>
<head>
//scripts
</head>
<body>
<div id="header">
<div class="logo">
<img id="LogoImg" src="http://www.ruralcomshow.com/wpontent/uploads/2014/06/Midwest-Data-Center-Logo-175x75.png" />
</div>
</div>
<div class="wrapper">
<div class="left-side">
//some navigation
</div>
<div id="right-side">
@RenderBody()
</div>
</div>
<div id="footer">
<div class="clearfix">
//some footer
</div>
</div>
</body>
</html>
这是我的控制者:
public class HomeController : Controller
{
public PartialViewResult Ajax()
{
return PartialView();
}
public ActionResult Index()
{
return View();
}
}
这是Ajax局部视图:
<h2>This is how it's done</h2>
@Html.ActionLink("back :C","Index","Home")
这是索引视图:
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@Ajax.ActionLink("Go, go Ajax!", "Ajax", "Home", new AjaxOptions { UpdateTargetId = "right-side", InsertionMode = InsertionMode.Replace})
所以,据我所知,当我点击Ajax ActionLink
时,我的整个页面不应该rerender
,唯一应该改变的是div with id "right-side"
?所以问题是整个页面总是被重新渲染。
我做错了吗?或者这是我理解的问题?
答案 0 :(得分:0)
在页面底部包含jquery和unobtrusive-ajax,如下所示: -
</footer>
@Scripts.Render("~/bundles/jquery")
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
@RenderSection("scripts", required: false)
</body>
</html>