<div> text: <asp:TextBox runat="server"></asp:TextBox> <asp:Button runat="server" Text="查 询"/> </div> <div> <asp:GridView runat="server" AutoGenerateColumns="true"></asp:GridView> <uc1:PagerControl runat="server" /> </div>
测试分页控件的后台代码:
 private const string dtSourceViewStateKey = "dtSourceViewStateKey";
protected void Page_Load(object sender, EventArgs e)
 {
  if (!IsPostBack)
  {
  BindData(true);
}
  Pager.OnPageChanged += OnPageChanged;
 }
private void BindData(bool bindRecordCount)
 {
  DataTable dtSource = GetDataSource();
var source = dtSource.AsEnumerable();
  if (!string.IsNullOrEmpty(txtContent.Text.Trim()))
  {
  source = source.Where(w => w.Field<string>("text").Contains(txtContent.Text.Trim()));
  }
if (bindRecordCount)
  {
  Pager.RecordCount = source.Count();
  Pager.CurrentPageIndex = 1;
  Pager.DataBind();
  }
gvList.DataSource = source
  .Skip((Pager.CurrentPageIndex - 1) * Pager.PageSize)
  .Take(Pager.PageSize)
  .Select(r => new { id = r["id"].ToString(), text = r["text"].ToString() })
  .ToList();
  gvList.DataBind();
 }
private void OnPageChanged()
 {
  BindData(false);
 }
private DataTable InitDataTable()
 {
  DataTable dtSource = new DataTable();
  DataColumn id = new DataColumn("id");
  id.AutoIncrement = true;
  id.AutoIncrementSeed = 1;
dtSource.Columns.Add(id);
  dtSource.Columns.Add("text");
for (int i = 1; i <= 1000; i++)
  {
  DataRow dr = dtSource.NewRow();
  dr["text"] = "内容" + i;
dtSource.Rows.Add(dr);
  }
return dtSource;
 }
private DataTable GetDataSource()
 {
  if (ViewState[dtSourceViewStateKey] == null)
  {
  ViewState[dtSourceViewStateKey] = InitDataTable();
  }
return ViewState[dtSourceViewStateKey] as DataTable;
 }
protected void btnQuery_Click(object sender, EventArgs e)
 {
  BindData(true);
 }
在Page_Load中注册翻页后的事件。
