我在一页中有四个不同的选项卡,每个选项卡的数据由使用部分页面的 ajax 调用呈现。选项卡的数据由 ajax post 加载。阿贾克斯调用:
$('#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 调用一样呈现下一页?