分頁控制項 aspnetPager 使用 Entity Framework 的範例
aspnetPager 這個分頁控制項的範例程式碼中僅有提供 ADO.NET 和 LinqToSQL 的範例,對於現在已習慣使用 Entity Framework 開發的我,寫了一個用 Entity Framework 的範例,算是做個記錄,先看一下執行的畫面
這個範例我以 NorthWind 中的 Products 為範例做分頁的呈現(每頁10筆),畫面上使用的控制項有 GridView 和 aspnetPager
以下是範例程式碼,請多指教:
{
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();
}
相關閱讀: