- <asp:DataList ID="DataList1" runat="server" BorderStyle="None" Width="250px">
- <HeaderTemplate>
- <table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse" width="100%">
- <tr>
- <td width="25%" height="25">序列</td>
- <td width="25%">ID</td>
- <td width="25%">Title</td>
- <td width="25%">LogContext</td>
- </tr>
- </HeaderTemplate>
- <ItemTemplate>
- <tr>
- <td width="25%" height="25"><%= ListIndex++ %></td>
- <td>Id<%# Eval("id") %></td>
- <td width="25%"><%# Eval("title") %></td>
- <td width="25%"><%# Eval("logContext") %></td>
- </tr>
- </ItemTemplate>
- <FooterTemplate>
- </table>
- </FooterTemplate>
- </asp:DataList>
- <asp:Label ID="lblPageIndex" runat="server" />
- <asp:Button ID="btnPre" runat="server" OnClick="btnPre_Click" Text="上一页" />
- <asp:Button ID="btnNext" runat="server" OnClick="btnNext_Click" Text="下一页" />
- using System;
- using System.Data;
- using System.Configuration;
- 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.Collections.Generic;
- using System.Data.OleDb;
- public partial class _Default : System.Web.UI.Page
- {
- PagedDataSource pdsDl;
- const int pageSize = 5;
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- {
- btnPre.Enabled = false;
- ViewState["listIndex"] = 1;//记录行号
- ViewState["pager"] = 0;//记录当前页数
- DataToBind();
- }
- }
- private void DataToBind()
- {
- pdsDl = new PagedDataSource();
- pdsDl.DataSource = GridViewSource();
- pdsDl.AllowPaging = true;
- pdsDl.PageSize = pageSize;
- pdsDl.CurrentPageIndex = Pager;
- lblPageIndex.Text = "第" + (Pager + 1) + "页" + " 共" + pdsDl.PageCount + "页";
- DataList1.DataSource = pdsDl;
- DataList1.DataBind();
- }
- public int ListIndex
- {
- get { return (int)ViewState["listIndex"]; }
- set { ViewState["listIndex"] = value; }
- }
- public int Pager
- {
- get { return (int)ViewState["pager"]; }
- set { ViewState["pager"] = value; }
- }
- private List<Log> GridViewSource()
- {
- List<Log> logs = new List<Log>();
- for (int i = 1; i < 16; i++)
- {
- Log log = new Log();
- log.Id = i;
- log.Title = "Title" + i;
- log.LogContext = "LogContext" + i;
- logs.Add(log);
- }
- return logs;
- }
- public class Log
- {
- private int id;
- public int Id
- {
- get { return id; }
- set { id = value; }
- }
- private string title;
- public string Title
- {
- get { return title; }
- set { title = value; }
- }
- private string logContext;
- public string LogContext
- {
- get { return logContext; }
- set { logContext = value; }
- }
- }
- protected void btnNext_Click(object sender, EventArgs e)
- {
- btnPre.Enabled = true;
- DataToBind();
- Pager++;
- if (Pager == pdsDl.PageCount - 1)
- {
- btnNext.Enabled = false;
- }
- //每翻一页行号的初始值加上一个一面呈现的行数
- ListIndex = ListIndex + pageSize;
- DataToBind();
- }
- protected void btnPre_Click(object sender, EventArgs e)
- {
- btnNext.Enabled = true;
- DataToBind();
- Pager--;
- if (Pager == 0)
- {
- btnPre.Enabled = false;
- }
- ListIndex = ListIndex - pageSize;
- DataToBind();
- }
- }