<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button3" runat="server" Text="首页" OnClick="Button3_Click"
style="width: 40px" />
<asp:Button ID="Button1" runat="server" Text="上一页" OnClick="Button1_Click" />
当前第<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>页
<asp:Button ID="Button2" runat="server" Text="下一页" OnClick="Button2_Click" />
<asp:Button ID="Button4" runat="server" Text="尾页" OnClick="Button4_Click" />
跳到第<asp:TextBox ID="TextBox1" runat="server" Width="31px"></asp:TextBox>页<asp:Button ID="Button5" runat="server" OnClick="Button5_Click" Text="GO" />
</div>
</form>
</body>
cs 代码:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Data.Sql;
using System.Configuration;
public partial class Default3 : System.Web.UI.Page
{
private static int pagesize;
private static int n;
private static int c;
public int number;
private int endpage;
string connectionstring = ConfigurationManager.AppSettings["advconn"].ToString();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Button1.Enabled = false;
Label1.Text = "1";
pagesize = 5;
c = n = count();
msg_top(c);
}
}
private int count()
{
SqlConnection con = new SqlConnection(connectionstring);
con.Open();
string sql = "select count(*) from addressxp";
SqlCommand cmd = new SqlCommand(sql, con);
return (int)cmd.ExecuteScalar();
}
void msg_top(int c)
{
//string msg_top = "";
SqlConnection con = new SqlConnection(connectionstring);
con.Open();
string sql = "select top " + pagesize + " * from addressxp where id in(select top " + c + " id from addressxp order by id desc)order by id asc";
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataReader rs = cmd.ExecuteReader();
}
protected void Button1_Click(object sender, EventArgs e)
{
Button1.Enabled = true;
Button2.Enabled = true;
if (c >= n - pagesize)
{
Button1.Enabled = false;
}
Response.Clear();
c = c + pagesize;
Response.Write(c.ToString());
msg_top(c);
Label1.Text = Convert.ToString((n - c) / pagesize + 1);
number = Convert.ToInt32(this.Label1.Text);
if (number == 1)
Button1.Enabled = false;//******************************************
}
protected void Button2_Click(object sender, EventArgs e)
{
Button1.Enabled = true;
Button2.Enabled = true;
if (c <= pagesize * 2)
{
Button2.Enabled = false;
}
Response.Clear();
c = c - pagesize;
Response.Write(c.ToString());
msg_top(c);
Label1.Text = Convert.ToString((n - c) / pagesize + 1);
number = Convert.ToInt32(this.Label1.Text);
if (number == endpage)
Button2.Enabled = false;
}
protected void Button3_Click(object sender, EventArgs e)
{
Button1.Enabled = false;
Button2.Enabled = true;
c = n;
Response.Clear();
Response.Write(c.ToString());
msg_top(c);
Label1.Text = "1";
}
protected void Button4_Click(object sender, EventArgs e)
{
Button1.Enabled = true;
Button2.Enabled = false;
c = n - (n / pagesize) * pagesize;
Response.Clear();
Response.Write(c.ToString());
msg_top(c);
Label1.Text = Convert.ToString(n / pagesize + 1);
}
protected void Button5_Click(object sender, EventArgs e)
{
int gx = Convert.ToInt32(TextBox1.Text);
if (gx < 1 || gx >( n / pagesize+1))
{
}
else
{
Button1.Enabled = true;
Button2.Enabled = true;
if(c >= n - pagesize)
{
Button1.Enabled = false;}
//if (c <= pagesize * 2)
if (((c / pagesize + 1) * pagesize >= pagesize * 2) && (c % pagesize == 0))
{ Button2.Enabled = false; }
c = n - ((gx - 1) * pagesize);
Response.Clear();
Response.Write(c.ToString());
msg_top(c);
Label1.Text = Convert.ToString((n - c) / pagesize + 1);
number = Convert.ToInt32(this.Label1.Text);
if (n % pagesize == 0)
endpage = n / pagesize;
else
endpage = n / pagesize + 1;
if (number == 1)
{
Button1.Enabled = false;
Button2.Enabled = true;
}
else if (number == endpage)
{
Button2.Enabled = false;
Button1.Enabled = true;
}
}
}
}