这个是页面里的代码需要在上面引入:
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
<webdiyer:AspNetPager ID="AspNetPager1" PageSize="20" runat="server" OnPageChanged="AspNetPager1_PageChanged" AlwaysShow="True" CssClass="fypage" CurrentPageButtonClass=".fypage span"> </webdiyer:AspNetPager> 后台用法:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using JGDJWeb.Model; using Wuqi.Webdiyer; namespace JGDJWeb.Special { public partial class List : System.Web.UI.Page { private int pageSize = 20;//每页显示的数量 private string ClassNO = "";//当前页面的栏目编号 protected void Page_Load(object sender, EventArgs e) { this.AspNetPager1.PageSize = pageSize;//为分布控件设置pageSize string classNo = Request.QueryString["ClassNo"] ?? "";//取得列表栏目 JY_News_Classs news_Classs = new JY_News_Classs() { ClassCName = "", ClassNo = "" }; using (JGDJEntities entities = new JGDJEntities()) { news_Classs = entities.JY_News_Classs.FirstOrDefault(t => t.ClassNo == classNo) ?? new JY_News_Classs() { ClassCName = "", ClassNo = "" }; } this.LabelTitle.Text = news_Classs.ClassCName; this.HyperLinkNav.Text = news_Classs.ClassCName; ClassNO = news_Classs.ClassNo; if (!IsPostBack) { RepeaterDataBind(AspNetPager1, news_Classs.ClassNo); } } private void RepeaterDataBind(AspNetPager pager, string classNo) { using (JGDJEntities entities = new JGDJEntities()) { //要求审核通过 var news = entities.JY_Newss.Where(c => c.CheckStatus == 1 && c.JY_NewsClass.Any(no => no.ClassNo == classNo));//定义一个上下文,方便直接引用 pager.RecordCount = news.Count();//为分布控件的总记录数赋值,这样分布控件可以自动算出有多少页 var data = news.OrderByDescending(t => t.CreateTime).Skip((pager.CurrentPageIndex - 1) * pager.PageSize).Take(pager.PageSize).ToList();//根据分页控件的CurrentPageIndex和PageSize取出相应的记录 Repeater1.DataSource = data; Repeater1.DataBind(); } } protected void AspNetPager1_PageChanged(object sender, EventArgs e) { RepeaterDataBind(sender as AspNetPager, ClassNO); } } }
时间: 2024-07-30 06:26:46