分頁控制項 aspnetPager 使用 Entity Framework 的範例
aspnetPager 這個分頁控制項的範例程式碼中僅有提供 ADO.NET 和 LinqToSQL 的範例,對於現在已習慣使用 Entity Framework 開發的我,寫了一個用 Entity Framework 的範例,算是做個記錄,先看一下執行的畫面
這個範例我以 NorthWind 中的 Products 為範例做分頁的呈現(每頁10筆),畫面上使用的控制項有 GridView 和 aspnetPager
以下是範例程式碼,請多指教:
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { bindGridView(); } } /// <summary> /// aspnetPager /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void pager_Command(object sender, CommandEventArgs e) { int currentPageIndex = Convert.ToInt32(e.CommandArgument); pager.CurrentIndex = currentPageIndex; bindGridView(); } private void bindGridView() { NorthwindEntities entity = new NorthwindEntities(); int skip = (pager.CurrentIndex - 1) * pager.PageSize; int take = pager.PageSize; pager.ItemCount = entity.Products.Count(); var results = (from p in entity.Products orderby p.ProductID select new { productID = p.ProductID, productName = p.ProductName }).Skip(skip).Take(take); gvProducts.DataSource = results; gvProducts.DataBind(); }
相關閱讀: