显示分页
public partial class Manage_setadmin : System.Web.UI.Page{
protected void Page_Load(object sender, EventArgs e)
{
this.ddlRole.DataSource = RoleManager.GetAllRole();
this.ddlRole.DataBind();
}
//查询
protected void BtnGet_Click(object sender, EventArgs e)
{
DisplayGetFind();
}
/// <summary>
/// 绑定方法
/// </summary>
private void DisplayGetFind()
{
Admin item = new Admin();
item.LoginName = this.txtName.Text;
item.Role.Id = Convert.ToInt32(this.ddlRole.SelectedIndex);
Repeater.DataSource = AdminManager.GetFind(item); ;
Repeater.DataBind();
}
protected void Repeater_ItemCommand(object source, RepeaterCommandEventArgs e)
{
Admin item = new Admin();
item.Id = Convert.ToInt32(e.CommandArgument);
if (e.CommandName == "Del")
{
AdminManager.Del(item);
Repeater.DataSource = AdminManager.GetAllAdmin();
Repeater.DataBind();
}
}
private PagedDataSource pds()
{
PagedDataSource pds = new PagedDataSource(); //初始化一个PagedDataSource,允许控件分页
Admin item = new Admin();
item.LoginName = this.txtName.Text;
item.Role.Id = Convert.ToInt32(this.ddlRole.SelectedIndex);
pds.DataSource = AdminManager.GetFind(item); //转换成标准数据视图//用我们查询的这个表指向DefaultView读取数据
pds.AllowPaging = true; //允许分页
pds.PageSize = 2; //每页大小为5
pds.CurrentPageIndex = Convert.ToInt32(Request.QueryString["page"]); //设置当前页
return pds; //将处理完毕的pds对象发出
}
protected void Repeater_ItemDataBound(object sender, RepeaterItemEventArgs e) //事件
{
if (e.Item.ItemType == ListItemType.Footer) //读取数据中当到达页脚时,此语句将返回true
{
int n = pds().PageCount; //分页总数(方法.属性)
int i = pds().CurrentPageIndex; //当前页码(方法.属性)
//下总页数
Label AllPage = (Label)e.Item.FindControl("AllPage");
AllPage.Text = n.ToString(); //找到AllPage这个Label,将总页码赋给AllPage
//当前页
Label NowPage = (Label)e.Item.FindControl("NowPage");
NowPage.Text = Convert.ToString(pds().CurrentPageIndex + 1); //页码从0开始,这里要直观的话就得加1
//首页
HyperLink home = (HyperLink)e.Item.FindControl("home");
home.NavigateUrl = "?page=0";
//尾页
HyperLink end = (HyperLink)e.Item.FindControl("end");
end.NavigateUrl = "?page=" + Convert.ToInt32(n - 1);
//上页,下页
HyperLink up = (HyperLink)e.Item.FindControl("up");
HyperLink next = (HyperLink)e.Item.FindControl("next");
//找到表示上页和下页这两个控件
if (i <= 0)
{//如果当前页已经是第0页,开始找数据
home.Enabled = false;
up.Enabled = false;
end.Enabled = true;
}
else
{//如果当前页不是0,那么点链接up就-1上去
up.NavigateUrl = "?page=" + Convert.ToInt32(i - 1);
}
if (i > n - 2)
{//如果当前页已经是最末页,开始找数据
next.Enabled = false;
end.Enabled = false;
home.Enabled = true;
}
else
{//如果不是末页,点next就+1下去
next.NavigateUrl = "?page=" + Convert.ToInt32(i + 1);
}
}
}
}
前台
<body>
<form id="form1" runat="server">
<div id="man_zone" style="text-align:center">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table width="80%" border="0" style="margin-top:120px;">
<tr width="20%">
<td class="style2">
登录名:<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
</td>
<td class="style1">角色:<asp:DropDownList ID="ddlRole" runat="server"
AutoPostBack="True" DataTextField="id" DataValueField="id">
</asp:DropDownList>
</td>
<td >
<asp:LinkButton ID="BtnGet" runat="server" Text="查询" onclick="BtnGet_Click" />
</td>
<td >
<%--<asp:LinkButton ID="BtnAdd" runat="server" Text ="添加" oncommand="BtnAdd_Command"/>--%>
<a href="javaScript:window.showModalDialog('admin.aspx')">
<asp:Label runat="server" ID="lblName" Text='添加' />
</a>
</td>
</tr>
<asp:Repeater ID="Repeater" runat="server"
onitemcommand="Repeater_ItemCommand"
onitemdatabound="Repeater_ItemDataBound" >
<HeaderTemplate>
<tr width="20%">
<th>
登录名:</th>
<th>
登陆状态</th>
<th>
加入时间</th>
<th>
操作</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr width="20%">
<td style="background-color:#CCFFCC">
<a href="javaScript:window.showModalDialog('admin.aspx?id='+'<%# Eval("id")%>')">
<asp:Label runat="server" ID="lblName" Text='<%# Eval("loginName") %>' />
</a>
<%--<asp:LinkButton ID="btnName" Text='<%# Eval("loginName") %>' CommandName="Update" CommandArgument='<%# Eval("id")%>' runat="server"></asp:LinkButton>--%>
</td>
<td style="background-color:#CCFFCC">
<asp:Label runat="server" ID="lblStatus" Text='<%# Eval("status") %>' />
</td>
<td style="background-color:#CCFFCC">
<asp:Label runat="server" ID="lblDate" Text='<%# Eval("date") %>' />
</td>
<td style="background-color:#CCFFCC">
<asp:LinkButton runat="server" ID="btnDel" Text="删除" CommandName="Del" CommandArgument='<%# Eval("id")%>'
OnClientClick="return confirm('确认删除吗?');" />
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr width="20%">
<td style="background-color:#CCFFCC">
<a href="javaScript:window.showModalDialog('admin.aspx?id='+'<%# Eval("id")%>')">
<asp:Label runat="server" ID="lblloginName" Text='<%# Eval("loginName") %>' />
</a>
</td>
<td style="background-color:#CCFFCC">
<asp:Label runat="server" ID="lblstatus" Text='<%# Eval("status") %>' />
</td>
<td style="background-color:#CCFFCC">
<asp:Label runat="server" ID="lbldate" Text='<%# Eval("date") %>' />
</td>
<td style="background-color:#CCFFCC">
<asp:LinkButton runat="server" ID="btnDel" Text="删除" CommandName="Del" CommandArgument='<%# Eval("id")%>'
OnClientClick="return confirm('确认删除吗?');" />
</td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
<tr>
<td align="center" colspan="2" style="color:#0099ff;background-color:#e6feda;">
共<asp:Label ID="AllPage" runat="server" Text="Label"></asp:Label>页
当前为第<asp:Label ID="NowPage" runat="server" Text="Label"></asp:Label>页
<asp:HyperLink ID="home" runat="server" Text="首页"></asp:HyperLink>
<asp:HyperLink ID="up" runat="server" Text="上一页"></asp:HyperLink>
<asp:HyperLink ID="next" runat="server" Text="下一页"></asp:HyperLink>
<asp:HyperLink ID="end" runat="server" Text="末页"></asp:HyperLink>
</td>
</tr>
</FooterTemplate>
</asp:Repeater>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html> --------------------编程问答-------------------- --------------------编程问答-------------------- 推荐你用aspnetpage吧
http://www.webdiyer.com/Controls/AspNetPager --------------------编程问答-------------------- 这是问问题,还是教我们啊?友情散分?那我顶一下!! --------------------编程问答--------------------
楼主一下就贴这么多代码 --------------------编程问答-------------------- 代码很长,看的吃力,我老了。年轻时候看不懂, --------------------编程问答-------------------- 一般人不会看完你的代码! --------------------编程问答-------------------- 是呀,怎么全是代码呢?
遇到了什么问题吗?不过还是推荐一种更假单的方法。
http://topic.csdn.net/u/20101028/17/fafbba23-d5c3-47ef-8bfa-bac05634210a.html?45844 --------------------编程问答-------------------- LZ你这种分页资源浪费太大了,每点击下或者上一页都要去查所有的数据在分
数据多了你的服务器会崩溃
我也正在找一个简单的方法,不过现在还没找到
补充:.NET技术 , ASP.NET