CS文件:
private int PageSize; //每页条目数量
private int RecordCount; //总记录数
private int CurrentPage; //当前页码
private int PageCount; //总页数
private void Page_Load(object sender, System.EventArgs e)
{
RecordCount=getRecordCount();
PageSize=10; //初始化每页显示10条记录
this.l_PageSize.Text=PageSize.ToString();
PageCount=(RecordCount%PageSize)>0?(RecordCount/PageSize)+1:(RecordCount/PageSize); //通过三元运算符获取总页数
this.l_Pagecount.Text=PageCount.ToString();
if(!this.IsPostBack)
{
//初始化当前页码为1页
CurrentPage=1;
//页面Label显示页码
this.l_CurrentPage.Text=CurrentPage.ToString();
this.DataBindUser();
}
}
private void DataBindUser()
{
SqlConnection conn=new SqlConnection("server=(local);uid=sa;pwd=790920;database=User_Data");
conn.Open();
SqlDataAdapter ada=new SqlDataAdapter("select * from uupo_User order by user_Id desc",conn);
DataSet ds=new DataSet();
ada.Fill(ds,"uupo_User");
//PagedDataSource分页对象,功能:执行分页
PagedDataSource page=new PagedDataSource();
//设置分页对象数据源,数据源必须是表的一个视图
page.DataSource=ds.Tables["uupo_User"].DefaultView;
//是否允许分页
page.AllowPaging=true;
//当前页的索引(值为CurrentPage-1)
page.CurrentPageIndex=CurrentPage-1;
this.dl_UserList.DataSource=page;
this.dl_UserList.DataKeyField="user_Id";
this.dl_UserList.DataBind();
conn.Close();
//下面是设置按钮显示状态//
//初始化按钮显示为TRUE
this.btn_First.Enabled=true;
this.btn_Next.Enabled=true;
this.btn_Prv.Enabled=true;
this.btn_Last.Enabled=true;
if(CurrentPage==1)
{
this.btn_First.Enabled=false;
this.btn_Prv.Enabled=false;
this.btn_Next.Enabled=true;
this.btn_Last.Enabled=true;
}
if(CurrentPage==PageCount)
{
this.btn_First.Enabled=true;
this.btn_Prv.Enabled=true;
this.btn_Next.Enabled=false;
this.btn_Last.Enabled=false;
}
}
/// <summary>
/// 获取用户总记录数
/// </summary>
/// <returns></returns>
private int getRecordCount()
{
SqlConnection conn=new SqlConnection("server=(local);uid=sa;pwd=790920;database=User_Data");
conn.Open();
SqlCommand cmd=new SqlCommand("select count(*) from uupo_User",conn);
return (int)cmd.ExecuteScalar(); //ExecuteScalar()返回第一行第一列的值
}
/// <summary>
/// 首页事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_First_Click(object sender, System.EventArgs e)
{
CurrentPage=1;
this.l_CurrentPage.Text="1";
DataBindUser();
}
/// <summary>
/// 上一页事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Prv_Click(object sender, System.EventArgs e)
{
CurrentPage=Convert.ToInt32(this.l_CurrentPage.Text);
if(CurrentPage>1)
{
--CurrentPage;
this.l_CurrentPage.Text=CurrentPage.ToString();
DataBindUser();
}
}
/// <summary>
/// 下一页事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Next_Click(object sender, System.EventArgs e)
{
CurrentPage=Convert.ToInt32(this.l_CurrentPage.Text);
if(CurrentPage<PageCount)
{
++CurrentPage;
this.l_CurrentPage.Text=CurrentPage.ToString();
DataBindUser();
}
}
/// <summary>
/// 尾页事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Last_Click(object sender, System.EventArgs e)
{
CurrentPage=PageCount;
this.l_CurrentPage.Text=CurrentPage.ToString();
DataBindUser();
}
//删除操作
private void dl_UserList_DeleteCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{
string userid=this.dl_UserList.DataKeys[e.Item.ItemIndex].ToString();
// ImageButton button=(ImageButton)e.Item.FindControl("btn_Delete");
if(e.CommandName=="Delete")
{
SqlConnection conn=new SqlConnection("server=(local);uid=sa;pwd=790920;database=User_Data");
conn.Open();
SqlCommand cmd=new SqlCommand("delete uupo_User where user_Id="+userid,conn);
if(cmd.ExecuteNonQuery()>0)
{
conn.Close();
Response.Write("<script>alert('删除成功!');window.location.href='DataList.aspx';</script>");
}
else
{
conn.Close();
Response.Write("<script>alert('删除失败!');window.location.href='DataList.aspx';</script>");
}
}
}
//绑定删除的触发事件
private void dl_UserList_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
{
ImageButton button=(ImageButton)e.Item.FindControl("btn_Delete");
button.Attributes.Add("onclick","return confirm('确认删除吗?')");
}
}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
前台绑定:
<asp:DataList id="dl_UserList" Width="100%" runat="server">
<HeaderTemplate>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#000033">
<tr>
<td width="9%" align="center" bgcolor="#000033"><span class="STYLE1">用户名</span></td>
<td width="12%" height="30" align="center" bgcolor="#000033"><span class="STYLE1">密码问题</span></td>
<td width="16%" height="30" align="center" bgcolor="#000033"><span class="STYLE1">密码答案</span></td>
<td width="11%" height="30" align="center" bgcolor="#000033"><span class="STYLE1">联系方式</span></td>
<td width="15%" height="30" align="center" bgcolor="#000033"><span class="STYLE1">出生日期</span></td>
<td width="29%" height="30" align="center" bgcolor="#000033"><span class="STYLE1">联系地址</span></td>
<td width="8%" height="30" align="center" bgcolor="#000033"><span class="STYLE1">操作</span></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td height="25" bgcolor="#FFFFFF"><%# DataBinder.Eval(Container.DataItem,"user_Name")%></td>
<td height="25" bgcolor="#FFFFFF"><%# DataBinder.Eval(Container.DataItem,"user_PassQuestion")%></td>
<td height="25" bgcolor="#FFFFFF"><%# DataBinder.Eval(Container.DataItem,"user_PassAnswer")%></td>
<td height="25" bgcolor="#FFFFFF"><%# DataBinder.Eval(Container.DataItem,"user_Telephone")%></td>
<td height="25" bgcolor="#FFFFFF"><%# DataBinder.Eval(Container.DataItem,"user_Birthday")%></td>
<td height="25" bgcolor="#FFFFFF"><%# DataBinder.Eval(Container.DataItem,"user_Addr")%></td>
<td bgcolor="#FFFFFF">
<asp:ImageButton ID="btn_Delete" ImageUrl="images/DelDoc.gif" CommandName="Delete" Runat="server"></asp:ImageButton></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:DataList>
<table height="30" width="100%" border="0">
<tr>
<td align="right">总页数:
<asp:label id="l_Pagecount" Runat="server"></asp:label>每页显示:
<asp:label id="l_PageSize" Runat="server"></asp:label>条,当前第
<asp:Label ID="l_CurrentPage" Runat="server"></asp:Label>
页
<asp:Button ID="btn_First" Text="首页" Runat="server"></asp:Button>
<asp:Button ID="btn_Prv" Text="上一页" Runat="server"></asp:Button>
<asp:Button ID="btn_Next" Runat="server" Text="下一页"></asp:Button>
<asp:Button ID="btn_Last" Runat="server" Text="尾页"></asp:Button> </td>
</tr>
</table>