کد سمت ویو
<nav> <ul class="pagination">
@if ((int)ViewBag.pageId > 1)
{
<li class="">
<a aria-label="Previous" href="@Url.Action("Last", "Content", protocol: "http", routeValues: new { page = ViewBag.pageId-1 })"><span aria-hidden="true">«</span></a>
</li>
}
else
{
<li class="">
<a aria-label="Previous" href="#"><span aria-hidden="true">«</span></a>
</li>
}
@for (int i = 1; i <= (ViewBag.pageCount + 1); i++)
{
<li class="@(((int)ViewBag.pageId==i)?"active":"")">
<a href="@Url.Action("Last", "Content", new { page = i })">@(i)</a>
</li>
}
@if ((int)ViewBag.pageId < (int)ViewBag.pageCount + 1)
{
<li class="">
<a aria-label="Next" href="@Url.Action("Last", "Content", protocol: "http", routeValues: new { page = ViewBag.pageId+1 })"><span aria-hidden="true">»</span></a>
</li>
}
else
{
<li class="">
<a aria-label="Previous" href="#"><span aria-hidden="true">»</span></a>
</li>
}
</ul>
</nav>
سمت سرور
public ActionResult Last(int? page) {
const int pageItem = 2;
int skip = ((page ?? 1) - 1) * pageItem;
var lstResult = _contentService.Content_Last(pageItem, skip).ToList();
int pagecount = (_contentService.Content_GetActiveCount() - 1) / pageItem;
if (page > pagecount + 1)
{
//throw new HttpException("404");
//تولید خطا دستی
throw new HttpException(404, "HTTP/1.1 404 Not Found");
}
ViewBag.pageCount = pagecount;
ViewBag.pageId = (page ?? 1);
if (!lstResult.Any())
{
return View(new List<PartialViewContent>());
}
//انتخاب فیلدهای مورد نظر
var Models = (from employee in lstResult
select new PartialViewContent
{
Id = employee.Id,
Caption = employee.Caption,
Description = employee.Description,
Body = employee.Body,
Tags = employee.TagNamesSplite,
ViewCount = employee.ViewCount,
CommentCount = employee.CommentCount,
Publishdatetime = employee.PublishedOn,
Link1 =
Url.Action(actionName: "Post",
controllerName: "Content",
protocol: "http",
routeValues: new { id = employee.Id, name = employee.Caption }),
}).ToList();
return View(Models);
}