페이징 출력코드 +수정
이전의 페이징코드를 살짝 수정하여 출력페이지 수 변경가능하도록 클래스(클래스명: PageNavi) 수정해보기
(이전 게시판페이징 포스팅으로 바로가기: http://lbnl88.tistory.com/57)
path= 링크경로정보
nowPage= 현재페이지
totRecCnt= 총페이지수
pageSize= 출력할 페이지수
totPageSize= 한페이지에 출력되는 게시물의 수
Ex) 출력화면
클래스를 호출할때 pageSize를 추가하여 출력페이지 수를 유동적으로 바꿔보았다.
public static string PageNavi(string path, int nowPage, int totRecCnt, int pageSize, int totPageSize)
{
int totPage = 0;
totPage = totRecCnt % totPageSize;
if (totPage == 0)
{
totPage = totRecCnt / totPageSize;
}
else
{
totPage = (totRecCnt / totPageSize) + 1;
}
int startPage = ((nowPage - 1) / pageSize) * pageSize + 1;
int endPage = 0;
string _pageReturn = "";
if (path.IndexOf('?') > -1)
{
path += "&page=";
}
else
{
path += "?page=";
}
if (totPage > startPage + 9)
{
endPage = startPage + 9;
}
else
{
endPage = totPage;
}
//첫페이지로이동
if (startPage > 10)
{
_pageReturn += "<a href=\"" + path + "1\" class=\"img\"><img src=\"/first.gif\" alt=\"처음\" /></a>";
_pageReturn += "<a href=\"" + path + (startPage - 10).ToString() + "\" class=\"img\"><img src=\"/prev.gif\" alt=\"이전\" /></a>"; ;
}
for (int i = startPage; i <= endPage; i++)
{
if (nowPage == i)
{
_pageReturn += "<a href=\"" + path + i.ToString() + "\" class=\"now\">" + i.ToString() + "</a>";
}
else
{
_pageReturn += "<a href=\"" + path + i.ToString() + "\">" + i.ToString() + "</a>";
}
}
if (totPage > 10)
{
if (endPage < totPage)
{
_pageReturn += "<a href=\"" + path + (startPage + 10).ToString() + "\" class=\"img\">
<img src=\"/next.gif\" alt=\"다음\" /></a>";
_pageReturn += "<a href=\"" + path + totPage.ToString() + "\" class=\"img\">
<img src=\"/last.gif\" alt=\"마지막\" /></a>";
}
}
return _pageReturn;
}
'ASP.NET' 카테고리의 다른 글
The temp directory in chart handler configuration is not accessible (0) | 2015.02.17 |
---|---|
배열 특정문자로 자르기 (0) | 2012.03.23 |
ASP.NET_ 모바일(iphone / android) 접속 제어 (0) | 2012.02.29 |
ASP.NET 날짜비교 (0) | 2012.01.26 |
주문번호 만들기 (0) | 2011.08.31 |