它不会在页面上重新显示部分视图,而是加载到新页面上。这是我的代码:
控制器:
public ViewResult Index()
{
ViewBag.Batch = 0;
return View();
}
public PartialViewResult ViewMore(int batch)
{
ViewBag.Batch = batch;
var artist = db.Artists.ToList().OrderBy(x => x.Name).Skip(10 * batch).Take(10);
return PartialView("_ViewMoreArtist", artist);
}
查看(索引)
@Ajax.ActionLink("View More...",
"ViewMore", new { batch = ViewBag.Batch + 1}, new AjaxOptions
{
UpdateTargetId = "viewMore",
InsertionMode = InsertionMode.InsertAfter,
HttpMethod = "GET"
//,LoadingElementId = "progress"
})
<div id="viewMore"></div>
VIEWS - (_ViewMoreArtist) @model IEnumerable
@foreach (var artist in Model)
{
@Html.ActionLink(artist.Name, "Browse", new { id = artist.ArtistId })
<br />
}
VIEWS - (_Layout)
<!DOCTYPE html> <html> <head>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript">/script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script> </head> <body>
<div id="main">
@RenderBody()
</div>
</body> </html>
注意:我已经在_Layout上添加了jquery.unobtrusive-ajax.js ...我在这里尝试做的是使用示例MVCMusicStore项目,我添加了一个页面来查看艺术家的10个结果和一个查看选项更多结果......
答案 0 :(得分:1)
你有_ViewMoreArtist.cshtml页吗?在上面的代码中,我无法看到它。
答案 1 :(得分:1)
要验证的事项:
jquery-1.4.4.min.js
存在于Scripts
文件夹jquery.unobtrusive-ajax.js
存在于Scripts
文件夹中。您在web.config中启用了不显眼的javascript ajax:
<appSettings>
...
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
要尝试的事情:
jquery.unobtrusive-ajax.js
是否与jQuery 1.4.4兼容。答案 2 :(得分:0)
这是一个很好的博客,有一个解决方案
大多数javascript文件都已过时。