zoukankan      html  css  js  c++  java
  • ASP.NET常用的分页

    在显示数据时,常常要用到分页;所以把我经常使用的分页代码记录下来;

    以下分页只适合小型数据!使用的是VS自带的分页功能;

    html页面:

    <div align="right">  
        <asp:LinkButton ID="LbtFirst" runat="server" OnClick="LbtFirst_Click" >首 页</asp:LinkButton>    
        <asp:LinkButton ID="Lbtback" runat="server" OnClick="Lbtback_Click" >上一页</asp:LinkButton>    
        <asp:LinkButton ID="LbtNext" runat="server" OnClick="LbtNext_Click" >下一页</asp:LinkButton>    
        <asp:LinkButton ID="LbtFinally" runat="server" OnClick="LbtFinally_Click">末 页</asp:LinkButton>  
        当前第<asp:Label ID="Lblnum" runat="server" Text="1"></asp:Label>页   
        共<asp:Label ID="lblPageCount" runat="server"></asp:Label>页   
    </div> 
    

    把此代码放入Repeater或者GridView等数据显示控件下面,样式可以自己设一下。

    后台页面:

    static int currentPage = 1;   
    //页面加载   
    protected void Page_Load(object sender, EventArgs e)   
    {    
    	if (!IsPostBack)   
    	{    
    		currentPage = 1;   
    		Bing();   
    	}   
    }   
     //加载数据   
     private  void Bing()   
     {   
         //获取数据   
         IList<Log> log = new Logs().GetAllLog();   
         pageDate(obj);   
     }   
    /// <summary>   
    /// 分页方法,传入要绑定的数据集   
    /// </summary>   
    private void pageDate(IList<Log> obj)   
    {   
        PagedDataSource pds = new PagedDataSource();   
        pds.DataSource = obj;   
        pds.AllowPaging = true;   
        //默认每页显示条数,这里默认为8   
        pds.PageSize = 8;   
        pds.CurrentPageIndex = currentPage - 1;   
        this.Lblnum.Text = currentPage.ToString();   
        this.LbtFirst.Enabled = this.Lbtback.Enabled = !pds.IsFirstPage;   
        this.LbtFinally.Enabled = this.LbtNext.Enabled = !pds.IsLastPage;   
        this.lblPageCount.Text = Convert.ToString(pds.PageCount);   
        ///绑定数据源控件(改成页面数据控件ID)   
        this.GridView.DataSource = pds;   
        this.GridView.DataBind();   
    }   
    /// <summary>   
    /// 第一页   
    /// </summary>   
    protected void LbtFirst_Click(object sender, EventArgs e)   
    {   
        currentPage = 1;   
        Bing()   
    }   
    /// <summary>   
    /// 上一页   
    /// </summary>   
    protected void Lbtback_Click(object sender, EventArgs e)   
    {   
        currentPage -= 1;   
        Bing()   
    }   
    /// <summary>   
    /// 下一页   
    /// </summary>   
    protected void LbtNext_Click(object sender, EventArgs e)   
    {   
        currentPage += 1;   
        Bing()   
    }   
    /// <summary>   
    /// 最后一页   
    /// </summary>   
    protected void LbtFinally_Click(object sender, EventArgs e)   
    {   
        currentPage = Convert.ToInt32(lblPageCount.Text.Trim());   
        Bing()   
    }  
    

    这段代码为后台代码;直接复制粘贴,然后把稍作修改就可以使用了。 

    如果传入的是DataTable 则 pds.DataSource 应改为dataTable.DefaultView;

  • 相关阅读:
    Centos开启FTP及用户配置
    mysql update from 子查询
    sql server 查询表某个字段不重复数据
    ASP.NET 获取来源网站的网址,获取上一网页的网址,获取来源网页的URL,获取上一网页的URL
    Warning: Invalid argument supplied for foreach()
    不支持关键字: “userid”。
    apache301重定向设置
    service httpd restart失败解决方法(小记)
    JavaWeb(一)
    jquery中filter的用法
  • 原文地址:https://www.cnblogs.com/intcry/p/fenyecode1.html
Copyright © 2011-2022 走看看