1 つのページに 4 つの異なるタブがあり、各タブのデータは部分ページを使用した 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呼び出しのように次のページをレンダリングするにはどうすればよいですか?