62,269
社区成员
发帖
与我相关
我的任务
分享
//定义一个委托
public delegate void PageChangeHandler(object send,int nPageIndex);
/// <summary>
/// 用户控件
/// 分页
/// </summary>
public partial class Controls_PageNavigator : System.Web.UI.UserControl
{
//定义一个事件
public event PageChangeHandler OnPageChange;
private int _PageCount = 0;
private int _RecordCount = 0;
private int _PageIndex = 0;
protected void Page_Load(object sender, EventArgs e)
{
}
//总共多少页数
public int PageCount
{
get
{
return int.Parse(this.LblPageCount.Text);
}
set
{
_PageCount = value;
this.LblPageCount.Text = _PageCount.ToString();
if (_PageIndex >= _PageCount)
{
this.LnkBtnNext.Enabled = false;
this.LnkBtnLast.Enabled = false;
}
else
{
this.LnkBtnNext.Enabled = true;
this.LnkBtnLast.Enabled = true;
}
}
}
//总共多少记录数
public int RecordCount
{
get
{
return int.Parse(this.LblRecordCount.Text);
}
set
{
_RecordCount = value;
this.LblRecordCount.Text = _RecordCount.ToString();
}
}
//当前页码
public int PageIndex
{
get
{
return int.Parse(this.LblPageIndex.Text);
}
set
{
_PageIndex = value;
this.LblPageIndex.Text = _PageIndex.ToString();
this.txtNewPageIndex.Text = _PageIndex.ToString();
if (_PageIndex < 2)
{
this.LnkBtnFirst.Enabled = false;
this.LnkBtnPrevious.Enabled = false;
}
else
{
this.LnkBtnPrevious.Enabled = true;
this.LnkBtnFirst.Enabled = true;
}
}
}
//首页
protected void LnkBtnFirst_Click(object sender, EventArgs e)
{
try
{
OnPageChange(sender, 1);
}
catch
{
throw;
}
}
//上一页
protected void LnkBtnPrevious_Click(object sender, EventArgs e)
{
try
{
int n = Convert.ToInt32(this.LblPageIndex.Text);
n--;
OnPageChange(sender, n);
}
catch
{
throw;
}
}
//下一页
protected void LnkBtnNext_Click(object sender, EventArgs e)
{
try
{
int n = Convert.ToInt32(this.LblPageIndex.Text);
n++;
OnPageChange(sender, n);
}
catch
{
throw;
}
}
//尾页
protected void LnkBtnLast_Click(object sender, EventArgs e)
{
try
{
int n = Convert.ToInt32(this.LblPageCount.Text);
OnPageChange(sender, n);
}
catch
{
throw;
}
}
//转到此页
protected void LnkBtnGoto_Click(object sender, EventArgs e)
{
int n;
try
{
n = Convert.ToInt32(this.txtNewPageIndex.Text);
}
catch
{
n = Convert.ToInt32(this.LblPageIndex.Text);
}
int nPageCount = Convert.ToInt32(this.LblPageCount.Text);
//当前页大于最大页数,
if (n > nPageCount)
{
n = nPageCount;
}
//当前页小于1
if (n < 1)
{
n = 1;
}
OnPageChange(sender, n);
}
}