프로그램 자료/ASP.NET

ASP.NET 게시판 페이징 처리

motolies 2014. 10. 28. 17:01
출처 : 본인

2013/12/19 - [프로그램 자료/Java Script] - Jquery Javascript 게시판 페이징 처리



 

protected string Paging(int totalCnt, int rowCnt, int curPageNo, int blockCnt)

{

    StringBuilder sb = new StringBuilder(2000);

    try

    {

        int TotalPage = (int)Math.Ceiling(Convert.ToDouble(totalCnt) / Convert.ToDouble(rowCnt));

        if (TotalPage < 1)

        {

            return string.Empty;

        }

 

        sb.Append("<ul class=\"pagination pagination-lg\">");

        if (TotalPage < blockCnt + 1)

        {

            //Prev Disabled

            sb.Append("<li class=\"disabled\"><a aria-label=\"Previous\"><span aria-hidden=\"true\">&laquo;</span></a></li>");

 

            //Block

 

            for (int i = 1; i < TotalPage + 1; i++)

            {

                if (curPageNo == i)

                    sb.AppendFormat(" <li class=\"active\"><a>{0}<span class=\"sr-only\">(current)</span></a></li>", i);

                else

                    sb.AppendFormat("<li><a onclick=\"javascript:goPaging('{0}');\">{0}</a></li>", i);

            }

 

 

            //Next Disabled

            sb.Append("<li class=\"disabled\"><a aria-label=\"Next\"><span aria-hidden=\"true\">&raquo;</span></a></li>");

 

        }

        else

        {

            //Block Init

            int curBlock = (int)Math.Ceiling((double)curPageNo / (double)blockCnt);

            int startIdx = (curBlock - 1) * blockCnt + 1;

            int endIdx = startIdx + blockCnt - 1;

 

            //Prev

            if (curPageNo < blockCnt + 1)

            {

                //disabled

                sb.Append("<li class=\"disabled\"><a aria-label=\"Previous\"><span aria-hidden=\"true\">&laquo;</span></a></li>");

            }

            else

            {

                sb.AppendFormat("<li><a onclick=\"javascript:goPaging('{0}');\" aria-label=\"Previous\"><span aria-hidden=\"true\">&laquo;</span></a></li>", startIdx - 1);

            }

 

            //Block

            for (int i = startIdx; i < endIdx + 1; i++)

            {

                if (i == curPageNo)

                {

                    sb.AppendFormat(" <li class=\"active\"><a>{0}<span class=\"sr-only\">(current)</span></a></li>", i);

                }

                else if (i > TotalPage)

                {

                    break;

                }

                else

                {

                    sb.AppendFormat("<li><a onclick=\"javascript:goPaging('{0}');\">{0}</a></li>", i);

                }

            }

 

            //Next

            if (curPageNo > TotalPage - blockCnt)

            {

                //disabled

                sb.Append("<li class=\"disabled\"><a aria-label=\"Next\"><span aria-hidden=\"true\">&raquo;</span></a></li>");

            }

            else

            {

                sb.AppendFormat("<li><a onclick=\"javascript:goPaging('{0}');\" aria-label=\"Next\"><span aria-hidden=\"true\">&raquo;</span></a></li>", endIdx + 1);

            }

 

        }

 

 

        sb.Append("</ul>");

    }

    catch

    {

        sb = null;

    }

 

    return sb.ToString();

 

}