ASP.NET DataList 分页之PagedDataSource

原创 2013年12月04日 15:27:02

第一次发文章,请大家多多包含,后面会陆续发出其他分页方式。

DataList控件的灵活性简直无可挑剔了,但是没有把分页像Gridview那样封装进去,下面和大家一起分享一下用 PagedDataSource的分页....

前台代码:

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

<!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>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div style="text-align: center">
        <asp:DataList ID="DataList1" runat="server"   RepeatColumns="1"
            Width="190px">
            <ItemTemplate>
                <table border="1" bordercolor="blue" style="width: 721px">
                    <tr>
                        <td style="width: 100px; text-align: right;">
                BookMarkID:</td>
                        <td style="width: 100px">
                <asp:Label ID="BookMarkIDLabel" runat="server" Text='<%# Eval("BookMarkID") %>'>
                </asp:Label></td>
                    </tr>
                    <tr>
                        <td style="width: 100px; text-align: right;">
                BookMarkName:
                        </td>
                        <td style="width: 100px">
                <asp:Label ID="BookMarkNameLabel" runat="server" Text='<%# Eval("BookMarkName") %>'>
                </asp:Label></td>
                    </tr>
                    <tr>
                        <td style="width: 100px; text-align: right;">
                BookMarkDesc:
                        </td>
                        <td style="width: 100px">
                <asp:Label ID="BookMarkDescLabel" runat="server" Text='<%# Eval("BookMarkDesc") %>'>
                </asp:Label></td>
                    </tr>
                    <tr>
                        <td style="width: 100px; text-align: right;">
                BookMarkText:</td>
                        <td style="width: 100px">
                <asp:Label ID="BookMarkTextLabel" runat="server" Text='<%# Eval("BookMarkText") %>'>
                </asp:Label></td>
                    </tr>
                </table>
                <br />
            </ItemTemplate>
        </asp:DataList>
                第<asp:Label ID="Label1" runat="server"></asp:Label>页 
        <asp:HyperLink ID="HyperLink1" runat="server" OnDataBinding="Page_Load">首页</asp:HyperLink>
        <asp:HyperLink ID="HyperLink2" runat="server" OnDataBinding="Page_Load">上一页</asp:HyperLink>
        <asp:HyperLink ID="HyperLink3" runat="server" OnDataBinding="Page_Load">下一页</asp:HyperLink>
        <asp:HyperLink ID="HyperLink4" runat="server" OnDataBinding="Page_Load">末页</asp:HyperLink> 
        共<asp:Label
                    ID="Label2" runat="server"></asp:Label>页
    
    </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;
public partial class DataList : System.Web.UI.Page
{
   
    SqlConnection sqlcon = new SqlConnection("server=.;Database=DBDemo;user id=sa;pwd=123");
    public string strsql = "SELECT * FROM BookMarks";
    protected void Page_Load(object sender, EventArgs e)
    { //设置数据源
        PagedDataSource page = new PagedDataSource();
        SqlDataAdapter adp = new SqlDataAdapter(strsql, sqlcon);
        sqlcon.Open();
        DataSet dst = new DataSet();
        adp.Fill(dst, "table");
        DataTable tab = new DataTable();
        tab=dst.Tables["table"];
        page.DataSource = tab.DefaultView;
        //分页实现
        page.PageSize = 3;
        page.AllowPaging = true;
        int CurPage;
        if (Request.QueryString["Page"] != null)
        {
            CurPage = Int32.Parse(Request.QueryString["Page"]);
        }
        else
            CurPage = 1;
        page.CurrentPageIndex = CurPage - 1;
        this.Label1.Text = CurPage.ToString();
        this.Label2.Text = page.PageCount.ToString();
        if (!page.IsFirstPage && CurPage > 1)
        {
            this.HyperLink2.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);
        }
        if (!page.IsLastPage && CurPage < page.PageCount)
        {
            this.HyperLink3.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);
        }
        this.HyperLink1.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=1";
        this.HyperLink4.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(page.PageCount.ToString());

        DataList1.DataSource = page;
        DataList1.DataBind();
        sqlcon.Close();
    }
    

   
}



 

 

C#中DataList分页--使用PagedDataSource实现

Default.aspx代码:
  • icehaopan
  • icehaopan
  • 2010年12月14日 10:16
  • 2165

asp.net DataList控件分页代码

  • taomanman
  • taomanman
  • 2011年11月18日 16:39
  • 1623

C# ASP.NET AspNetPager对DataList控件分页

1、控件代码段DataList数据绑定 < asp:DataList ID=”DataList1” runat=”server” RepeatColumns=”2” RepeatDirection=...
  • u010075060
  • u010075060
  • 2015年04月19日 21:43
  • 592

关于PagedDataSource,非常好用的一个分页属性!

 Asp.net提供了三个功能强大的列表控件:DataGrid、DataList和Repeater控件,但其中只有DataGrid控件提供分页功能。相对DataGrid,DataList和Repeat...
  • zhanghongqiao
  • zhanghongqiao
  • 2007年03月20日 16:30
  • 377

ASP.NET 2.0 分页技术之使用PagedDataSource篇

大家好,好久没有更新我的博客了,特地整理了关于分页技术的知识点,堪称超简单实用的分页.---------------------------------------------------------...
  • whaben
  • whaben
  • 2008年01月08日 17:50
  • 547

用DataList控件和ObjectDataSource在ASP.NET 2.0中实现高效能数据分页

翻译:linqingfeng2006-5-22特别感谢常小妹的支持! Last weekend I posted about how to implement super efficient data...
  • jelink
  • jelink
  • 2006年09月25日 22:53
  • 2718

实现DataList分页方法

前几天在做网上商城,要展示商品信息(有图片,有文字),DataView虽然可以分页,但它的缺点是不能自定义显示格式。而DataList解决了它的缺点,但DataList本身却不能分页。很是头痛,于是在...
  • mane_yao
  • mane_yao
  • 2010年03月22日 10:56
  • 12966

通过PagedDataSource 来实现分页

private void NewBin()     {         try         {             string strNode = Request.QueryStri...
  • a312586670
  • a312586670
  • 2012年11月14日 18:44
  • 281

ASP.NET中对DataList控件进行数据绑定并分页

  • DonetRen
  • DonetRen
  • 2010年05月19日 18:35
  • 2867

如何让DataList具有分页的功能 2(asp.net)

一.前言在上一版的DataList分页功能中,分页的按钮只有“第一页、上一页,下一页,最后一页”,在这次的DataList分页中,加入了用数字显示页码的功能,点击数字可以跳到相应的页面。二.分页用户控...
  • zhyuanshan
  • zhyuanshan
  • 2008年01月10日 14:23
  • 2245
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET DataList 分页之PagedDataSource
举报原因:
原因补充:

(最多只允许输入30个字)