testEntities context=new testEntities(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindDataList(10, 0); } else { PlaceHolder1.Controls.Clear(); CreatePagingControl(); } } private int RowCount { get { return (int)ViewState["RowCount"]; } set { ViewState["RowCount"] = value; } } private void BindDataList(int take, int pageSize) { var query = (from p in context.testTBL orderby p.testID select p).Take(take).Skip(pageSize).ToList(); PagedDataSource page = new PagedDataSource(); page.AllowCustomPaging = true; page.AllowPaging = true; page.DataSource = query; page.PageSize = 3; DataList1.DataSource = page; DataList1.DataBind(); if (!IsPostBack) { RowCount = query.Count; CreatePagingControl(); } } private void CreatePagingControl() { for (int i = 0; i < (RowCount / 10) + 1; i++) { LinkButton lnk = new LinkButton(); lnk.Click += new EventHandler(lbl_Click); lnk.ID = "lnkPage" + (i + 1).ToString(); lnk.Text = (i + 1).ToString(); PlaceHolder1.Controls.Add(lnk); Label spacer = new Label(); spacer.Text = " "; PlaceHolder1.Controls.Add(spacer); } } void lbl_Click(object sender, EventArgs e) { LinkButton lnk = sender as LinkButton; int currentPage = int.Parse(lnk.Text); int take = currentPage * 10; int skip = currentPage == 1 ? 0 : take - 10; BindDataList(take, skip); }
<div> <asp:DataList ID="DataList1" runat="server"> <ItemTemplate> <%# Eval("testID")%> </ItemTemplate> </asp:DataList> <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder> </div>
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)