linqtosql 实现数据分页

cs代码

 

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 Default4 : System.Web.UI.Page
{
    int pagesize = 200;
    protected void Page_Load(object sender, EventArgs e)
    {


        if (!IsPostBack)
        {
            ViewState["PageIndex"] = 0;
            bind();
        }

      
    }
    protected void bind()
    {
        int pageindex=Convert.ToInt32(ViewState["PageIndex"]);
        DataClasses3DataContext dc = new DataClasses3DataContext(ConfigurationManager.ConnectionStrings["SoyErpConnectionString"].ConnectionString.ToString());
        var result = (from r in dc.MA_Lot
                      select r).Skip(pagesize * pageindex).Take(pagesize);
        GridView1.DataSource = result;
        GridView1.DataBind();
        btnFirst.Enabled = true;
        btnPre.Enabled = true;
        btnNext.Enabled = true;
        btnLast.Enabled = true;
        if (pageindex == 0)
        {
            btnFirst.Enabled = false;
            btnPre.Enabled = false;
        }
        if (pageindex == getCount()-1)
        {
            btnNext.Enabled = false;
            btnLast.Enabled = false;
        }
    }
    protected int getCount()
    {
        DataClasses3DataContext dc = new DataClasses3DataContext(ConfigurationManager.ConnectionStrings["SoyErpConnectionString"].ConnectionString.ToString());
        int s1 = dc.MA_Lot.Count();
        int s2 = s1 % pagesize == 0 ? 0 : 1;
        return s1 / pagesize + s2;
    }
    protected void btnFirst_Click(object sender, EventArgs e)
    {
        ViewState["PageIndex"] = 0;
        bind();
    }
    protected void btnPre_Click(object sender, EventArgs e)
    {
        ViewState["PageIndex"] = Convert.ToInt32(ViewState["PageIndex"])-1; 
        bind();
    }
    protected void btnNext_Click(object sender, EventArgs e)
    {
        ViewState["PageIndex"] = Convert.ToInt32(ViewState["PageIndex"]) + 1;
        bind();
    }
    protected void btnLast_Click(object sender, EventArgs e)
    {
        ViewState["PageIndex"] = getCount()-1;
        bind();
    }
}

aspx前台代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default4.aspx.cs" Inherits="Default4" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
        <asp:Button ID="btnFirst" runat="server" Text="首页" οnclick="btnFirst_Click" /> 
        <asp:Button ID="btnPre" runat="server" Text="上一页" οnclick="btnPre_Click" />
        <asp:Button ID="btnNext" runat="server" Text="下一页" οnclick="btnNext_Click" />
        <asp:Button ID="btnLast" runat="server" Text="尾页" οnclick="btnLast_Click" /></div>
    <div>
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
    </div>

    </form>
</body>
</html>

 

转载于:https://www.cnblogs.com/ChineseMoonGod/p/4255129.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值