using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Configuration; public partial class _Default : System.Web.UI.Page { LinqDBDataContext lqDB = new LinqDBDataContext(); int pageSize = 3; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ViewState["pageindex"] = 0; bindGrid(); } } protected void bindGrid() { int pageindex = Convert.ToInt32(ViewState["pageindex"]); var result = (from v in lqDB.news select new { 编号=v.id, 内容 = v.content } ).Skip(pageSize*pageindex).Take(pageSize); GridView1.DataSource = result; GridView1.DataBind(); linkbtnBottom.Enabled = true; linkbtnFirst.Enabled = true; linkbtnUP.Enabled = true; linkbtnDown.Enabled = true; if (Convert.ToInt32(ViewState["pageindex"]) == 0) { linkbtnFirst.Enabled = false; linkbtnUP.Enabled = false; } if (Convert.ToInt32(ViewState["pageindex"]) == getCount() - 1) { linkbtnBottom.Enabled = false; linkbtnDown.Enabled = false; } } protected int getCount() { int sum = lqDB.news.Count(); int s1 = sum / pageSize; int s2 = sum % pageSize > 0 ? 1 : 0; int count = s1 + s2; return count; } protected void linkbtnFirst_Click(object sender, EventArgs e) { ViewState["pageindex"] = 0; bindGrid(); } protected void linkbtnUP_Click(object sender, EventArgs e) { ViewState["pageindex"] = Convert.ToInt32(ViewState["pageindex"]) - 1; bindGrid(); } protected void linkbtnDown_Click(object sender, EventArgs e) { ViewState["pageindex"] = Convert.ToInt32(ViewState["pageindex"]) + 1; bindGrid(); } protected void linkbtnBottom_Click(object sender, EventArgs e) { ViewState["pageindex"] =getCount() - 1; bindGrid(); } }