У меня есть нумерация страниц с представлением, и действие с именем представления корректно и работает. Теперь у меня есть другое действие, которое получает пользовательский набор данных, который использует одну и ту же модель в представлении только с разными результатами.Как я могу заставить мою нумерацию страниц работать с этим отдельным действием.В отдельном действии я первоначально назвал View («viewname», Model), чтобы открыть мое представление с этими данными.Я могу заставить нумерацию страниц отображать правильное количество страниц и правильно загружать первую страницу, но как только я нажимаю на следующую страницу, она не показывает никаких данных в представлении.Я использую PagedList для моей нумерации страниц.Вот мой код с работающей нумерацией страниц и действием, которое показывает первую страницу данных.Я попытался использовать ajax, думая, что, возможно, все будет работать, потому что страница не нуждается в обновлении, но она делает то же самое, что и до того, как 2-я страница пуста.
public async Task<ActionResult> UserTimeSheets(string id, int? page)
{
var userTimeSheets = await (from times in context.TimeSheetMaster
where times.UserId == id
select new TimeSheetMasterModel()
{
TimeSheetMasterId = times.TimeSheetMasterId,
UserId = times.UserId.ToString(),
IdShortened = times.UserId.Substring(0,10)
}).ToListAsync();
int pageSize = 3;
int pageNumber = (page ?? 1);
TempData["PanelHeader"] = "Your TimeSheets";
return View(userTimeSheets.ToPagedList(pageNumber, pageSize));
} // Here is the action that loads only the first page of data public async Task<ActionResult> UserApproveTimes(string userid, int? page)
{
var approved = await (from m in context.TimeSheetMaster
where m.TimeSheetStatus == 2
&& m.UserId == userid
select new TimeSheetMasterModel()
{
TimeSheetMasterId = m.TimeSheetMasterId,
IdShortened = m.UserId.Substring(0,8),
TotalHours = m.TotalHours,
Comment = m.Comment,
}).ToListAsync();
int pageSize = 3;
int pageNumber = (page ?? 1);
TempData["PanelHeader"] = "Your Approved TimeSheets";
return View("UserTimeSheets", approved.ToPagedList(pageNumber, pageSize));
} // Here is the view parts of it @model PagedList.IPagedList<MVC_TimeSh.Models.TimeSheetMasterModel>
@using PagedList.Mvc;
<link href="~/Content/PagedList.css" rel="stylesheet" type="text/css" />
@*if (TempData["PageHeader"] == "Your Approved TimeSheets")
{
@Html.PagedListPager(Model, page => Url.Action("UserApproveTimes", new { page }))
}
else
{
@Html.PagedListPager(Model, page => Url.Action("UserTimeSheets", new { page }))
}*@
@Html.PagedListPager(Model, page => Url.Action("UserTimeSheets", new { page = page}),
PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing(new AjaxOptions()
{
HttpMethod = "GET",
UpdateTargetId = "table"
}))