我在一个页面中有四个不同的选项卡,每个选项卡的数据由使用部分页面的ajax调用呈现。选项卡的数据由ajax post加载。 ajax电话:
$('#movieDatabase').click(function () {
$.ajax({
contentType: 'application/json; charset=utf-8',
dataType: 'html',
type: 'POST',
url: '/Admin/GetMovieDatabase',
data: {},
success: function (data) {
$('#view16').html(data);
},
failure: function (response) {
alert('error');
$('#view16').html(response);
}
});
});
此ajax调用呈现了部分页面。现在我想做的是分页来自数据库的电影。为此我使用PagedList.Mvc。但是将电影从一个页面导航到另一个页面时出现问题。它由以下人员完成:
@Html.PagedListPager((IPagedList)Model.MovieInforamtions, page => Url.Action("GetMovieDatabase", new { page }))
但是当我点击下一页时,由于我没有在HTTPGet中编写任何操作,因此它提供了找不到页面的错误。如果我通过HTTPGet进行上述调用,我无法呈现所有页面,只能呈现部分页面。我的行动是......
[HttpPost]
public ActionResult GetMovieDatabase(int? page)
{
var AdminGetMovieDatabaseViewModel = new AdminGetMovieDatabaseViewModel();
var allMovie = _AdminService.getAllMovieInfo();
var pageNumber = page ?? 1;
// if no page was specified in the querystring, default to the first page (1)
var onePageOfMovie = allMovie.ToPagedList(pageNumber, 5);
// will only contain 5 products max because of the pageSize
AdminGetMovieDatabaseViewModel.MovieInforamtions = onePageOfMovie;
return PartialView("MovieDataBasePartialPage", AdminGetMovieDatabaseViewModel);
}
现在我如何渲染下一页,就像之前完成的ajax调用一样?
答案 0 :(得分:0)
我把代码放在局部视图中的javascript部分,对我有用。
<script language ="javascript" type="text/javascript">
$('#movieDatabase').click(function () {
$.ajax({
contentType: 'application/json; charset=utf-8',
dataType: 'html',
type: 'POST',
url: '/Admin/GetMovieDatabase',
data: {},
success: function (data) {
$('#view16').html(data);
},
failure: function (response) {
alert('error');
$('#view16').html(response);
}
});
});
</script>