当前位置: 代码迷 >> ASP.NET >> 像这样的分页控件在ASP.NET中怎么做呢
  详细解决方案

像这样的分页控件在ASP.NET中怎么做呢

热度:2313   发布时间:2013-02-25 00:00:00.0
像这样的分页控件在ASP.NET中如何做呢?

我用的是datalist做了个显示数据的模板,有点像百度搜索网页后那种
想问下像这样的分页控件如何做呢?
我只能实现点前一页和后一页
不能想这样是很多个按钮
能给代码我给200分,(我只有200分)

------解决方案--------------------------------------------------------
C# code
 protected void Page_Load(object sender, EventArgs e)    {        if (!Page.IsPostBack)        {            BindData();        }    }    void BindData()    {        string BD_ID = "0";        if (Request.QueryString["Sort"] != null) sort = Request.QueryString["Sort"].ToString();        if (Request.QueryString["BrandID"] != null) BD_ID = Request.QueryString["BrandID"].ToString();        DataSet Ds = ProductProvider.Instance.GetViewMobileBySortExcuteProcdeure(sort,BD_ID);        PagedDataSource objPds = new PagedDataSource();        objPds.DataSource =Ds.Tables[0].DefaultView;        objPds.AllowPaging = true;        objPds.PageSize = Convert.ToInt32(ConfigurationManager.AppSettings["z_pagesize"]);        int CurPage;        if (Request.QueryString["Page"] != null)            CurPage = Convert.ToInt32(Request.QueryString["Page"]);        else            CurPage =0;        objPds.CurrentPageIndex = CurPage;        ddl_new_price1.DataSource = objPds;                ddl_new_price1.DataBind();        int PageCount = objPds.PageCount;        if (PageCount > 0)        {            WritePage(CurPage,PageCount);            li_PageCount.Text = " 第<b class='hong12'>" + (CurPage+1).ToString() + "</b> / <span class='hei12'>" + PageCount.ToString() + "</span>页 每页<b class='hei12'>" + objPds.PageSize.ToString() + "</b>款 共<b class='hei12'>" + Ds.Tables[0].Rows.Count.ToString() + "</b> 款";        }        else        {            lb_noFound.Text = "没有找到相关产品!";        }    }    void WritePage(int PageIndex, int PageCount)    {        StringBuilder str = new StringBuilder();        string url =  Request.RawUrl;        if (url.Length > 0)        {            if (url.IndexOf("_") != -1)            {                url = url.Substring(url.IndexOf("_")).Replace("#", "%23");            }        }        li_page.Text = string.Empty;        int cnt = 1;        if (PageCount > 0)        {            if (PageIndex != 0)            {                str.AppendLine("<a class='nor' href='0" + url + "'>首页</a>");            }            if (PageIndex < 5)            {                if (PageIndex > 0)                {                    str.AppendLine("<a class='nor' href='" + (PageIndex - 1) + url + "'>上一页</a>");                }                else                {                    str.AppendLine("<a class='nor' disabled>上一页</a>");                }                for (int i = 0; i < PageCount; i++)                {                    if (cnt == 6) break;                    if (i == PageIndex)                    {                        str.AppendLine("<a class='act'>" + (i + 1).ToString() + "</a>");                    }                    else                    {                        str.AppendLine("<a class='nor' href='" + i + url + "'>" + (i + 1) + "</a>");                    }                    cnt++;                }                if (PageCount - cnt > 0)                {                    str.AppendLine("<a class='point'>...</a>");                }                if (PageIndex < PageCount - 1)                {                    str.AppendLine("<a class='nor' href='" + (PageIndex + 1) + url + "'>下一页</a>");                }                else                {                    str.AppendLine("<a class='nor' disabled>下一页</a>");                }            }            else            {                str.AppendLine("<a class='nor' href='" + (PageIndex - 1) + url + "'>上一页</a>");                int startIndex = (int)(PageIndex / 5) * 5;                if (startIndex != 0)                {                    str.AppendLine("<a class='point'>...</a>");                }                for (int i = startIndex; i < PageCount; i++)                {                    if (cnt == 6) break;                    if (i == PageIndex)                    {                        str.AppendLine("<a class='act'>" + (i + 1).ToString() + "</a>");                    }                    else                    {                        str.AppendLine("<a class='nor' href='" + i + url + "'>" + (i + 1) + "</a>");                    }                    cnt++;                }                if (startIndex + 5 < PageCount)                {                    str.AppendLine("<a class='point'>...</a>");                }                if (PageIndex < PageCount - 1)                {                    str.AppendLine("<a class='nor' href='" + (PageIndex + 1) + url + "'>下一页</a>");                }                else                {                    str.AppendLine("<a class='nor' disabled>下一页</a>");                }            }        }        if (PageIndex != PageCount - 1)        {            str.AppendLine("<a class='nor' href='" + (PageCount - 1) + url + "'>末页</a>");        }        li_page.Text = str.ToString();    }
  相关解决方案