datagrid分页 从后端获取数据也很简单

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Datagrid.aspx.cs" Inherits="EasyUI.Datagrid" %>

<!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>

<%--    <link href="Styles/jQuery/EasyUI/easyui.css" rel="stylesheet" type="text/css" />
    <link href="Styles/jQuery/EasyUI/icon.css" rel="stylesheet" type="text/css" />

    <script src="Scripts/jQuery/jquery.min.js" type="text/javascript"></script>
    <script src="Scripts/jQuery/EasyUI/jquery.easyui.min.js" type="text/javascript"></script>--%>
 <link href="../themes/icon.css" rel="stylesheet" />
    <link href="../themes/default/easyui.css" rel="stylesheet" />
    <link href="../src/demo.css" rel="stylesheet" />
    <script src="../comjs/jquery-1.8.0.min.js"></script>
    <script src="../comjs/jquery.easyui.min.js"></script>

    <script type="text/javascript">
        $(function () {
            $dg = $("#dg");
            $dg.datagrid({
                url: "Data.ashx",
                title: "DataGrid",
                collapsible: true,
                pageList:  [4, 10, 15, 20],
                pageSize: 4,
                500,
                rownumber:true,
                columns: [[
                { checkbox:true },
                { field: "mId", title: "MenuID", 100, align:"center" },
                { field: "mName", title: "MenuName", 100, align: "center" },
                 { field: "mIsDel", title: "MenuIsDel", 100, align: "center" },
                { field: "mAddtime", title: "MenuAddtime", 100, align:"center" }
                
            ]],
            pagination:true
            });
        });
    </script>
</head>
<body>
    <table id="dg"></table>
</body>
</html>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
//using System.ServiceModel.Web;
using System.Data;
using System.Data.SqlClient;

namespace EasyUI
{
    /// <summary>
    /// Data1 的摘要说明
    /// </summary>
    public class Data1 : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "application/json";
            //    context.Response.ContentType = "text/plain";

            string page = context.Request.Form["page"];
            string rows = context.Request.Form["rows"];

            int pageNum = int.Parse(page);
            int pageSize = int.Parse(rows);

            int total = 0;
            string rs;

            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = "Data Source=.;Initial Catalog=CompanyGZ;Integrated Security=True";

                using (SqlCommand cmd = new SqlCommand())
                {
                    string sql = "SELECT COUNT(*) FROM Menu;";
                    cmd.Connection = conn;
                    cmd.CommandText = sql;

                    conn.Open();
                    total = (int)cmd.ExecuteScalar();

                    sql = string.Format("SELECT TOP {0} mId, mName, mIsDel, mAddtime " +
                                        "FROM Menu " +
                                        "WHERE mId NOT IN (SELECT TOP {1} mId FROM Menu);",
                                        pageSize, (pageNum - 1) * pageSize);
                    cmd.CommandText = sql;
                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        string rsRows = "";
                        while (reader.Read())
                        {
                            string tmpRs = string.Format(""mId":"{0}"," +
                                                    ""mName":"{1}"," +
                                                    ""mIsDel":"{2}"," +
                                                    ""mAddtime":"{3}"",
                                                    reader["mId"],
                                                    reader["mName"],
                                                    reader["mIsDel"],
                                                    reader["mAddtime"]);
                            rsRows += "{" + tmpRs + "},";
                        }
                        rsRows = rsRows.Substring(0, rsRows.Length - 1);

                        rsRows = "[" + rsRows + "]";

                        rs = string.Format(""total":"{0}"", total);
                        rs += ","rows":" + rsRows;

                        rs = "{" + rs + "}";

                        context.Response.Write(rs);
                    }
                }
            }

            //    context.Response.Write(rs);
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

原文地址:https://www.cnblogs.com/kexb/p/3683051.html