using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Caching;
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.Text;
using MySql.Data.MySqlClient;
using MySql.Data.Types;
///
/// 说明:本文介绍如何利用AjaxPro技术实现翻页时局部刷新,同时也介绍了翻页所涉及到的数据库知识(MySQL、MS SQL和Oracle)。
/// 本演示程序采用MySQL数据库,数据库中的数据是采用程序随机生成的。
/// 首发地址:http://blog.csdn.net/zhoufoxcn/archive/2008/03/12/2174234.aspx
/// 作者:周公
/// 日期:2008-3-12
/// public partial class AjaxPager : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxPager));
}
///
/// 从数据库中指定位置读取指定数目的数据
/// ///
记录的起始页位置
///
要读取的记录条数
///
[AjaxPro.AjaxMethod]
public DataTable GetDataTable(int pageIndex, int size)
{
MySqlConnection connection = new MySqlConnection(ConfigurationManager.ConnectionStrings["MySql"].ConnectionString);
MySqlDataAdapter adapter = new MySqlDataAdapter("select * from userlist limit " + (pageIndex-1) * size + "," + size, connection);
DataTable data = new DataTable();
adapter.Fill(data);
connection.Close();
adapter.Dispose();
return data;
}
///
/// 传递div节点的html字符串
/// ///
记录的起始页位置
///
要读取的记录条数
///
[AjaxPro.AjaxMethod]
public string GetString(int pageIndex, int size)
{
StringBuilder text = new StringBuilder();
text.Append("");
text.Append("");
text.Append("编号");
text.Append("姓名");
text.Append("年龄");
text.Append("性别");
text.Append("身高");
text.Append("工资");
text.Append("");
DataTable source = GetDataTable(pageIndex,size);
DataRow row;
for (int i = 0; i < source.Rows.Count; i++)
{
row = source.Rows[i];
text.Append("");
for (int column = 0; column < source.Columns.Count; column++)
{
text.Append("" + row[column].ToString() + "");
}
text.Append("");
}
int pageCount=(int)(Math.Ceiling(GetRecordCount()/(double)size));
text.Append("");
text.Append("
首页");
if (pageIndex < pageCount)
{
text.Append("
下一页");
}
else
{
text.Append("下一页");
}
if (pageIndex > 1)
{
text.Append("
上一页");
}
else
{
text.Append("上一页");
}
text.Append("
尾页");
text.Append("当前页:"+pageIndex+"/"+pageCount+"");
text.Append("");
return text.ToString();
}
///
/// 返回记录总条数
/// ///
[AjaxPro.AjaxMethod]
public int GetRecordCount()
{
MySqlConnection connection = new MySqlConnection(ConfigurationManager.ConnectionStrings["MySql"].ConnectionString);
MySqlCommand command = new MySqlCommand("select count(userId) from userlist", connection);
connection.Open();
int count = int.Parse(command.ExecuteScalar().ToString());
connection.Close();
command.Dispose();
return count;
}
}