代码改变世界

『ASP.NET 2.0』简章实用的AspNetPager分页控件源码

2008-11-17 18:33  我是文东  阅读(1341)  评论(6编辑  收藏  举报

在开发的过程中用到datalist控件分页效果,但写代码一时不知道如何下手,就到网上找一些代码看,发现其中代码不是太复杂,就是对于我的开发没有必要,最后在一个论坛找到了一个(C#)控件,研究之后发现这个控件简章易用,且这个控件适用于Datalit ,DataGrid,GataView,基于DataGrid,GataView,可以轻松实现分页,现将使用方法及控件下载地址告诉大家,希望对大家有所帮助!

下载DLL

下载控件后,先加载dll文件到工具箱!

分页效果预览: (下面这是几种常见的分页效果,还可以自定义很多)

(VS2005+SQL2005+ASP.NET2.0调试成功)

 

前台页面代码:Page.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="page.aspx.cs" Inherits="page" %>

<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Datalist分页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:DataList ID="list" runat="server">
     <ItemTemplate>
     <%# DataBinder.Eval(Container.DataItem,"About_Title") %>
     </ItemTemplate>
    </asp:DataList>
   <webdiyer:AspNetPager ID="pagelist" runat="server" OnPageChanging="PageChanging" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" PrevPageText="上一页" CustomInfoHTML="第%CurrentPageIndex%页,共%PageCount%页,每页%PageSize%条" ShowFirstLast="False" PageIndexBoxType="TextBox" ShowPageIndexBox="Never"> </webdiyer:AspNetPager>
    </div>
    </form>
</body>
</html>
注:不要忘记红色部分

后台页面:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using Wuqi.Webdiyer;//别忘记命名空间

public partial class page : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            
            SqlConnection con = new SqlConnection(ConfigurationSettings.AppSettings["SQLCONNECTION"].ToString());
            con.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText = "SELECT COUNT(*) FROM About";
            pagelist.AlwaysShow = true;
            pagelist.PageSize = 10; //显示页数
            pagelist.RecordCount = (int)cmd.ExecuteScalar(); //读出数据库里一共有多少条数据
            
            con.Close();
            DataBindlist();
        }
    }

    protected void DataBindlist()
    {
      
        SqlConnection con=new SqlConnection(ConfigurationSettings.AppSettings["SQLCONNECTION"].ToString());
        SqlDataAdapter ad = new SqlDataAdapter("select * from About", con);
        DataSet ds = new DataSet();
        ad.Fill(ds, pagelist.PageSize * (pagelist.CurrentPageIndex - 1), pagelist.PageSize, "About");

        list.DataSource = ds.Tables["About"];
        list.DataBind();
      }

    protected void PageChanging(object src,PageChangingEventArgs e)
    {
        pagelist.CurrentPageIndex = e.NewPageIndex;
        DataBindlist();
    }
}

可以直接复制代码进行调试,但要自己建一个简章的数据库