ASP.NET DataList 分页之PagedDataSource

来源:互联网 发布:心理与行为知乎 编辑:程序博客网 时间:2024/06/11 21:56

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

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();    }       }


 

 

原创粉丝点击