.aspx内容
<%@ Page language="c#" Codebehind="WebForm2.aspx.cs" AutoEventWireup="false" Inherits="stuclass.WebForm2" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm2</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 128px; POSITION: absolute; TOP: 8px" runat="server"
Width="497px" Height="176px" AllowPaging="True" OnPageIndexChanged="change">
<PagerStyle NextPageText="下一页" PrevPageText="上一页"></PagerStyle>
</asp:DataGrid>
<asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 288px; POSITION: absolute; TOP: 336px" runat="server"
Width="152px" Height="40px" Text="Button"></asp:Button>
<asp:Label id="Label1" style="Z-INDEX: 103; LEFT: 136px; POSITION: absolute; TOP: 256px" runat="server"
Width="78px" Height="24px">总共:</asp:Label>
<asp:TextBox id="TextBox1" style="Z-INDEX: 104; LEFT: 528px; POSITION: absolute; TOP: 256px"
runat="server" Width="48px" Height="24"></asp:TextBox>
<asp:Label id="Label3" style="Z-INDEX: 105; LEFT: 600px; POSITION: absolute; TOP: 256px" runat="server"
Width="32px" Height="24">页</asp:Label>
<asp:Button id="Button2" style="Z-INDEX: 106; LEFT: 456px; POSITION: absolute; TOP: 256px" runat="server"
Width="56px" Text="跳转到:" Height="24px"></asp:Button>
<asp:Label id="Label2" style="Z-INDEX: 107; LEFT: 224px; POSITION: absolute; TOP: 256px" runat="server"
Width="64px" Height="24px">当前</asp:Label>
<</FONT>
</form>
</body>
</HTML>*.aspx.ccs内容using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace stuclass
{
/// <summary>
/// WebForm2 的摘要说明。
/// </summary>
public class WebForm2 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.Label Label3;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.LinkButton LinkButton1;
protected System.Web.UI.WebControls.LinkButton LinkButton2;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string strcon="workstation id=XUWEI;packet size=4096;integrated security=SSPI;data source=XUWEI;persist security info=False;initial catalog=text";
string strsql="select * from class";
System.Data.SqlClient.SqlDataAdapter dar1=new System.Data.SqlClient.SqlDataAdapter(strsql,strcon);
DataSet ds=new DataSet();
dar1.Fill(ds,"class");
DataGrid1.DataSource=ds.Tables["class"];
DataGrid1.DataBind ();
Label1.Text="共:"+(ds.Tables["class"].Rows.Count/DataGrid1.PageSize).ToString()+"页";
Label2.Text="当前第"+(DataGrid1.CurrentPageIndex+1).ToString()+"页";
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.LinkButton1.Click += new System.EventHandler(this.LinkButton1_Click);
this.LinkButton2.Click += new System.EventHandler(this.LinkButton2_Click);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void Button1_Click(object sender, System.EventArgs e)
{
Response.Redirect("WebForm3.aspx");
} private void Button2_Click(object sender, System.EventArgs e)
{
}
public void change(object sender,DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex=e.NewPageIndex;
Label2.Text="当前第"+DataGrid1.CurrentPageIndex.ToString()+"页";
}
}
}
为什么连续点"上一页"或"下一页"都没什么问题
但先点一个后再点另外一个就有bug了
比如:当前是第10页,点"下一页"变成第11页,如果下一次点"下一页",没问题,是第12页,但如果下一次点的是"上一页",他还是12页,居然不是第10页,晕死.帮个忙啊....
{
DataGrid1.CurrentPageIndex=e.NewPageIndex;
Label2.Text="当前第"+DataGrid1.CurrentPageIndex.ToString()+"页"; DataGrid1.DataBind(); //你加上这个看看 }我是初学 不知道对不对
加了这个确实可以了,
每次都要在绑定一下
为什么
开始不 是绑定了吗
{
this.DataGridPage.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGridPage_Page);
this.Load += new System.EventHandler(this.Page_Load);}public void DataGridPage_Page(object sender, DataGridPageChangedEventArgs e)
{
//设置DataGrid当前页的索引值为用户选择的页的索引
DataGridPage.CurrentPageIndex = e.NewPageIndex;
//重新绑定数据
BindGrid();
//显示当前分页信息
ShowStats();
}