我的分页控件算法,稍有点简单

public ActionResult Index(string count,string current,string css)
        {
            ViewData[
"Message"= "Welcome to ASP.NET MVC!";

            
int allCount = int.Parse(count);//总条数
            int currentPage = int.Parse(current);//当前页
            StringBuilder pager = new StringBuilder();

            
int page = (allCount % pageSize > 0? allCount / pageSize + 1 : allCount / pageSize;
            
if (page > 1)
            {
                pager.Append(
"<label><a href='/'>首页</a></label>");
                
                
if (page >= 2 && page <= 10)
                {
                    
for (int i = 1; i <= page; i++)
                    {
                        
if (i == currentPage)
                            pager.Append(
"<label class='" + css + "'><a href='/'>第" + i.ToString() + "页</a></label>");
                        
else
                            pager.Append(
"<label><a href='/'>第" + i.ToString() + "页</a></label>");
                    }
                }
                
else
                {
                    
if (currentPage <= 4)
                    {
                        
for (int i = 1; i <= 4; i++)
                        {
                            
if (i == currentPage)
                                pager.Append(
"<label class='" + css + "'><a href='/'>第" + i.ToString() + "页</a></label>");
                            
else
                                pager.Append(
"<label><a href='/'>第" + i.ToString() + "页</a></label>");
                        }
                        pager.Append(
"<label>...</label>");
                    }
                    
else if (currentPage > 3 && currentPage < page-3 )
                    {
                        
for (int i = 1; i <= 2; i++)
                        {
                                pager.Append(
"<label><a href='/'>第" + i.ToString() + "页</a></label>");
                        }
                        pager.Append(
"<label>...</label>");

                        pager.Append(
"<label><a href='/'>第" + (currentPage - 1).ToString() + "页</a></label>");
                        pager.Append(
"<label class='" + css + "'><a href='/'>第" + currentPage.ToString() + "页</a></label>");
                        pager.Append(
"<label><a href='/'>第" + (currentPage + 1).ToString() + "页</a></label>");

                        pager.Append(
"<label>...</label>");
                        
for (int i = page - 1; i <= page; i++)
                        {
                                pager.Append(
"<label><a href='/'>第" + i.ToString() + "页</a></label>");
                        }
                    }
                    
else
                    {
                        pager.Append(
"<label>...</label>");
                        
for (int i = page - 3; i <= page; i++)
                        {
                            
if (i == currentPage)
                                pager.Append(
"<label class='" + css + "'><a href='/'>第" + i.ToString() + "页</a></label>");
                            
else
                                pager.Append(
"<label><a href='/'>第" + i.ToString() + "页</a></label>");
                        }
                    }
                }
                pager.Append(
"<label><a href='/'>末页</a></label>");
            }
            ViewData[
"all"= count;

            ViewData[
"current"= current;
            ViewData[
"pageString"=MvcHtmlString.Create( pager.ToString());
            
return View();
        }
posted @ 2011-08-02 16:57  Care健康  阅读(275)  评论(8编辑  收藏  举报
版权
作者:Bober Song

出处:http://bober.cnblogs.com

Care健康:http://www.aicareyou.com

推荐空间:华夏名网

本文首发博客园,版权归作者跟博客园共有。

转载必须保留本段声明,并在页面显著位置给出本文链接,否则保留追究法律责任的权利。