1 <%@ Page language="c#" Codebehind="CustomPage.aspx.cs" AutoEventWireup="false" Inherits="WebTest.CustomPage" %>
 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 3 <HTML>
 4     <HEAD>
 5         <title>CustomPage</title>
 6         <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
 7         <meta name="CODE_LANGUAGE" Content="C#">
 8         <meta name="vs_defaultClientScript" content="JavaScript">
 9         <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
10     </HEAD>
11     <body>
12         <form id="Form1" method="post" runat="server">
13             <FONT face="宋体">
14                 <asp:DataGrid id="dg" runat="server" Width="100%"></asp:DataGrid>
15                 <asp:panel id="pnlPage" Visible="True" Runat="server" Width="100%" Height="68px">
16                     <TABLE class="font" id="Table4" style="WIDTH: 570px; HEIGHT: 42px" cellSpacing="0" cellPadding="0"
17                         width="570" align="center" border="0">
18                         <TR>
19                             <TD>
20                                 <asp:Button id="btnFirst" runat="server" CssClass="font" Text="最前页"></asp:Button><FONT face="宋体">&nbsp;
21                                     <asp:Button id="btnPrevious" runat="server" CssClass="font" Text="上一页"></asp:Button>&nbsp;
22                                     <asp:Button id="btnNext" runat="server" CssClass="font" Text="下一页"></asp:Button>&nbsp;
23                                     <asp:Button id="btnLast" runat="server" CssClass="font" Text="最后页"></asp:Button>&nbsp;跳转到第
24                                     <asp:DropDownList id="drpPage" runat="server" AutoPostBack="True"></asp:DropDownList>&nbsp;页</FONT>
25                                 共
26                                 <asp:Label id="lblRecordCount" runat="server">0</asp:Label>&nbsp;条记录
27                             </TD>
28                         </TR>
29                     </TABLE>
30                     <asp:Button id="btnSendDecisionInfo" runat="server" Height="28px" Text="发送决议提醒"></asp:Button>
31                 </asp:panel></FONT>
32         </form>
33     </body>
34 </HTML>

  1 
  2 using System;
  3 using System.Collections;
  4 using System.ComponentModel;
  5 using System.Data;
  6 using System.Drawing;
  7 using System.Web;
  8 using System.Web.SessionState;
  9 using System.Web.UI;
 10 using System.Web.UI.WebControls;
 11 using System.Web.UI.HtmlControls;
 12 
 13 namespace WebTest
 14 {
 15     /// <summary>
 16     /// CustomPage 的摘要说明。
 17     /// </summary>
 18     public class CustomPage : System.Web.UI.Page
 19     {
 20         //数据源
 21         private DataSet ds=new DataSet();
 22 
 23         protected System.Web.UI.WebControls.Button btnSendDecisionInfo;
 24         protected System.Web.UI.WebControls.Label lblRecordCount;
 25         protected System.Web.UI.WebControls.DropDownList drpPage;
 26         protected System.Web.UI.WebControls.Button btnLast;
 27         protected System.Web.UI.WebControls.Button btnNext;
 28         protected System.Web.UI.WebControls.Button btnPrevious;
 29         protected System.Web.UI.WebControls.Button btnFirst;
 30         protected System.Web.UI.WebControls.DataGrid dg;
 31         protected System.Web.UI.WebControls.Panel pnlPage;
 32     
 33         private void Page_Load(object sender, System.EventArgs e)
 34         {
 35         }
 36 
 37         #region Web 窗体设计器生成的代码
 38         override protected void OnInit(EventArgs e)
 39         {
 40             //
 41             // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
 42             //
 43             InitializeComponent();
 44             base.OnInit(e);
 45         }
 46         
 47         /// <summary>
 48         /// 设计器支持所需的方法 - 不要使用代码编辑器修改
 49         /// 此方法的内容。
 50         /// </summary>
 51         private void InitializeComponent()
 52         {    
 53             this.Load += new System.EventHandler(this.Page_Load);
 54 
 55         }
 56         #endregion
 57 
 58         #region 数据绑定
 59         /// <summary>
 60         /// 绑定
 61         /// </summary>
 62         private void SetBindData()
 63         {
 64             int pageIndex = (int) ViewState["PageIndex"];
 65 
 66             this.dg.DataSource=ds.Tables[0];
 67             this.dg.DataKeyField="MeetingDecisionid";
 68             this.dg.CurrentPageIndex=pageIndex;
 69             this.dg.DataBind();
 70 
 71             if (ds.Tables[0].Rows.Count == 0)
 72             {
 73                 this.pnlPage.Visible = false;
 74             }
 75             else
 76             {
 77                 this.pnlPage.Visible = true;
 78 
 79                 this.drpPage.Items.Clear();
 80 
 81                 for (int i = 1; i <= this.dg.PageCount; i++)
 82                 {
 83                     this.drpPage.Items.Add(i.ToString());
 84                 }
 85 
 86                 //当前选择页面
 87                 this.drpPage.SelectedIndex = pageIndex;
 88 
 89                 this.lblRecordCount.Text = ds.Tables[0].Rows.Count.ToString();
 90             }
 91 
 92             if (this.dg.CurrentPageIndex == 0)
 93             {
 94                 this.btnFirst.Enabled = false;
 95                 this.btnPrevious.Enabled = false;
 96             }
 97             else
 98             {
 99                 this.btnFirst.Enabled = true;
100                 this.btnPrevious.Enabled = true;
101             }
102 
103             if (this.dg.CurrentPageIndex == this.dg.PageCount - 1)
104             {
105                 this.btnNext.Enabled = false;
106                 this.btnLast.Enabled = false;
107             }
108             else
109             {
110                 this.btnNext.Enabled = true;
111                 this.btnLast.Enabled = true;
112             }
113 
114         }
115         #endregion
116 
117         #region 处理分页
118 
119         private void btnFirst_Click(object sender, System.EventArgs e)
120         {
121             ViewState["PageIndex"= 0;
122             this.SetBindData();
123         }
124 
125         private void btnPrevious_Click(object sender, System.EventArgs e)
126         {
127             ViewState["PageIndex"= (int) ViewState["PageIndex"- 1;
128             this.SetBindData();
129         }
130 
131         private void btnNext_Click(object sender, System.EventArgs e)
132         {
133             ViewState["PageIndex"= (int) ViewState["PageIndex"+ 1;
134             this.SetBindData();
135         }
136 
137         private void btnLast_Click(object sender, System.EventArgs e)
138         {
139             ViewState["PageIndex"= this.dg.PageCount - 1;
140             this.SetBindData();
141         }
142 
143         private void drpPage_SelectedIndexChanged(object sender, System.EventArgs e)
144         {
145             ViewState["PageIndex"= this.drpPage.SelectedIndex;
146             this.SetBindData();
147         }
148         #endregion
149 
150     }
151 }
152