当前位置:编程学习 > C#/ASP.NET >>

显示分页

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 --------------------编程问答-------------------- 这是问问题,还是教我们啊?友情散分?那我顶一下!! --------------------编程问答--------------------
引用 1 楼 sirzxj 的回复:
楼主威武,

友情顶帖

顺便接分


楼主一下就贴这么多代码 --------------------编程问答-------------------- 代码很长,看的吃力,我老了。年轻时候看不懂, --------------------编程问答-------------------- 一般人不会看完你的代码! --------------------编程问答-------------------- 是呀,怎么全是代码呢?

遇到了什么问题吗?不过还是推荐一种更假单的方法。

http://topic.csdn.net/u/20101028/17/fafbba23-d5c3-47ef-8bfa-bac05634210a.html?45844 --------------------编程问答-------------------- LZ你这种分页资源浪费太大了,每点击下或者上一页都要去查所有的数据在分
数据多了你的服务器会崩溃

我也正在找一个简单的方法,不过现在还没找到

补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,