ASP.NET MVC 4 Razor 템 플 릿 간편 페이지 효과
첫 번 째 단 계 는 PageIndex 라 는 빈 컨트롤 러 를 만 들 고 다음 과 같은 방법 을 사용자 정의 합 니 다.
public ActionResult PageIndex(string action, string controller, int currentPage, int pageCount)
{
//int count = db.Product.Count();
ViewBag.PageCount = pageCount;//
ViewBag.CurrentPage = currentPage;//
ViewBag.action = action;
ViewBag.controller = controller;
return PartialView();
}
네 개의 인자 입력: action:동작(페이지 를 나 눌 보기 동작,기본 값 은 Index);
controller:컨트롤 러;
currentPage:현재 페이지 수;
pageCount:데이터 총 페이지 수
두 번 째 단계:보기 추가(PageIndex)
@if (ViewBag.PageCount == null || ViewBag.PageCount == 0)
{
<span> , !</span>
}
else
{
if (ViewBag.CurrentPage <= 10)
{
<span><a href="@Url.Action(ViewBag.action, ViewBag.controller, new { PageIndex = 1 }, null)">
</a>|</span>
}
else
{
<a href="@Url.Action(ViewBag.action, ViewBag.controller, new { PageIndex = 1 }, null)">
</a>
<span><a href="@Url.Action(ViewBag.action, ViewBag.controller, new { PageIndex = ViewBag.CurrentPage - 10 }, null)">
...</a> </span>
}
for (int i = ViewBag.CurrentPage - 3; i < ViewBag.CurrentPage + 3; i++)
{
if (i <= 0)
{
continue;
}
if (i > ViewBag.PageCount)
{
break;
}
<span><a href="@Url.Action(ViewBag.action, ViewBag.controller, new { PageIndex = i }, null)">
@i </a>|</span>
}
if (ViewBag.CurrentPage > 1)
{
<span><a href="@Url.Action(ViewBag.action, ViewBag.controller, new { PageIndex = ViewBag.CurrentPage - 1 }, null)">
</a>|</span>
}
if (ViewBag.PageCount > ViewBag.CurrentPage)
{
<span><a href="@Url.Action(ViewBag.action, ViewBag.controller, new { PageIndex = ViewBag.CurrentPage + 1 }, null)">
</a></span>
}
if (ViewBag.CurrentPage == ViewBag.PageCount || ViewBag.CurrentPage >= ViewBag.PageCount - 10)
{
<a href="@Url.Action(ViewBag.action, ViewBag.controller, new { PageIndex = ViewBag.PageCount }, null)">
</a>
}
else
{
<span><a href="@Url.Action(ViewBag.action, ViewBag.controller, new { PageIndex = ViewBag.CurrentPage + 10 }, null)">
...</a></span>
<a href="@Url.Action(ViewBag.action, ViewBag.controller, new { PageIndex = ViewBag.PageCount }, null)">
</a>
}
<span style="padding-left: 20px"> : @ViewBag.CurrentPage | @ViewBag.PageCount
</span>
}
세 번 째 단계:작 동 하 는 보기 의 컨트롤 러 수정
public ViewResult Index(int? pageIndex)
{
int pageInd = pageIndex.HasValue ? pageIndex.Value : 1;
ViewBag.PageCount = (int)Math.Ceiling(result.Count() / 20.0);
// take, 20
return View(result.OrderBy(t => t.PID).Skip((pageInd - 1) * 20).Take(20));
}
네 번 째 단계:페이지 호출(즉 마지막 단계)@Html.Action("PageIndex", "Product", new { action = "Index", controller = "Log", pageCount = ViewBag.PageCount, currentPage = ViewBag.CurrentPage })
일반적으로 데 이 터 는 모두 변동 한 것 이다. 2.데이터 제출
첫 번 째 단계:PageIndex 라 는 빈 컨트롤 러 를 만 들 고 다음 과 같은 방법 을 사용자 정의 합 니 다.
public ActionResult PageIndexKey(int currentPage, int pageCount)
{
ViewBag.PageCount = pageCount;//
ViewBag.CurrentPage = currentPage;//
return PartialView();
}
두 번 째 단계:분포 보기 만 들 기
<script>
$(function () {
$("#pageingByForm a").click(function (event) {
$("#pageIndex").val($(this).attr("pageIndex"));
//$(this).parent("Form").submit();
document.getElementsByTagName("Form").item(0).submit();
event.preventDefault();
});
});
</script>
@Html.Hidden("pageIndex")
<div id="pageingByForm">
@if (ViewBag.PageCount == null || ViewBag.PageCount == 0)
{
<span> </span>
}
else
{
if (ViewBag.CurrentPage <= 10)
{
<span><a pageindex="1" href="#"> </a>|</span>
}
else
{
<span><a pageindex="1" href="#"> </a>|</span>
<span><a pageIndex="@(ViewBag.CurrentPage - 10)" href="#">...</a>|</span>
}
for (int i = ViewBag.CurrentPage - 3; i < ViewBag.CurrentPage + 3; i++)
{
if (i <= 0)
{
continue;
}
if (i > ViewBag.PageCount)
{
break;
}
<span><a pageIndex="@i" href="#"> @i </a>|</span>
}
if (ViewBag.CurrentPage >1)
{
<span><a pageIndex="@(ViewBag.CurrentPage - 1)" href="#"> </a>|</span>
}
if (ViewBag.PageCount > ViewBag.CurrentPage)
{
<span><a pageIndex="@(ViewBag.CurrentPage + 1)" href="#"> </a></span>
}
if (ViewBag.CurrentPage >= ViewBag.PageCount - 10)
{
}
else
{
<span><a pageIndex="@(ViewBag.CurrentPage + 10)" href="#">...</a>|</span>
<span><a pageIndex="@ViewBag.PageCount" href="#"> </a></span>
}
<span style="padding-left: 20px"> : @ViewBag.CurrentPage | @ViewBag.PageCount
</span>
}
</div>
세 번 째 단계:조작 보기 와 컨트롤 러 수정
public ViewResult Index(int? pageIndex ,string search)
{
int pageInd = pageIndex.HasValue ? pageIndex.Value : 1;
ViewBag.PageCount = (int)Math.Ceiling(result.Count() / 20.0);
return View(result.OrderBy(t => t.PID).Skip((pageInd - 1) * 20).Take(20));
}
보기(페이지 호출):@using (Html.BeginForm())
{
성별 에 따라 조회 결 과 를 얻다.
성별:@Html.TextBox("섹스")
@Html.Action("PageIndexKey", "PageIndex", new { pageCount = ViewBag.PageCount, currentPage = ViewBag.CurrentPage })
}
Example:
// , list
List<string> s = new List<string>();
s.Add(" ");
ViewBag.PageCount = (int)Math.Ceiling(s.Count() / 20.0);
return View(s.Skip((pageInd - 1) * 20).Take(20));
@Html.Action("PageIndex", "PageIndex",
new { action = "", controller = "", pageCount = ViewBag.PageCount, currentPage = ViewBag.CurrentPage })
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[JS] JavaScript MVC 구현해보기크게 controllers, model, views 폴더로 나뉘어 있다. MainController.js View, Model 영역의 파일들을 모두 import하여 사용한다. 각각 파일은 default export ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.