asp.net Jquery+json 实现无刷新分页

mac2022-06-30  89

两个页面

1.TestJson.aspx 展示页面

主要js和引用的js

<link href="../Styles/FundCrm.css" rel="stylesheet" type="text/css" />    <script src="../Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>    <script type="text/javascript">        var IndexPage = 0;//第几页0开始        var PageSize = 20;//每页显示多少条数据        var RowCount = 0;//当前多少条数据        var TotalCount = 0;//一共多少条数据        function GetData() {            $(".divTable").html("<br/><br/><br/><br/><br/><br/><br/><br/><br/><img src=\"../Images/loading.gif\" /><br/>正在加载......<br/><br/><br/><br/><br/>");            $.getJSON("GetDataByJson.aspx?action=GetJson&index=" + IndexPage + "&PageSize=" + PageSize + "&time=" + Math.random(),                function (data) {                    TotalCount = data[0].count; //一共多少条数据                    var dataJson = data[0].Json;                    RowCount = dataJson.length;                    var table = "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">";                    table += "<tr>";                    table += "<td>客户ID</td>";                    table += "<td>客户姓名</td>";                    table += "</tr>";                    for (var i = 0; i < dataJson.length; i++) {                        table += "<tr>";                        table += "<td>";                        table += dataJson[i].AccountId;                        table += "</td>";                        table += "<td>";                        table += dataJson[i].Name;                        table += "</td>";                        table += "</tr>";                    }                    table += "</table>";                    $(".divTable").html(table);                    SetPage();                }            );        }        $(document).ready(function () {            GetData();        });        //设置分页        function SetPage() {            if (IndexPage == 0) {                $("#ibtn_prev").attr("disabled", "disabled"); //上一页                $("#ibtn_frist").attr("disabled", "disabled"); //首页            } else {                $("#ibtn_prev").attr("disabled", ""); //上一页                $("#ibtn_frist").attr("disabled", ""); //首页            }            $("#lb_pager").text(IndexPage + 1);            var start = IndexPage * PageSize + 1;            var end = 0;            if (RowCount == PageSize) {                end = start - 1 + PageSize;            } else {                end = start - 1 + RowCount;            }            $("#lb_record").html(start + " - " + end);            $("#lb_total").text(TotalCount);        }        //点击下一页        function ClickNextPage() {            IndexPage++;            GetData();            return false;        }        //点击上一页        function ClickUpPage() {            IndexPage--;            GetData();            return false;        }        //点击首页        function ClickFirstPage() {            IndexPage = 0;            GetData();            return false;        }    </script>

页面内容:

<div class="divTable" style="text-align:center;">    </div>    <div class="gridview_table">        <table style="width: 100%;" border="0" cellpadding="0" cellspacing="0" class="pager">            <tr>                <td class="left">                    <span id="lb_record">1 - 1</span> 条(共 <span id="lb_total">1</span>条)                </td>                <td class="right">                    <div style="width: 18px; padding-top: 3px">                        <input type="image" οnclick="return ClickNextPage()" name="ibtn_next" id="ibtn_next" title="下一页"                            class="aspNetDisabled" src="../Images/btn_pager_next.gif" /></div><%--disabled="disabled"--%>                    <div style="width: auto;">                        第 <span id="lb_pager">1</span> 页</div>                    <div style="width: 18px; padding-top: 3px">                        <input type="image" οnclick="return ClickUpPage()" name="ibtn_prev" id="ibtn_prev" title="上一页"                            class="aspNetDisabled" src="../Images/btn_pager_prev.gif" style="width: 9px" /></div>                    <div style="width: 18px; padding-top: 3px">                        <input type="image" οnclick="return ClickFirstPage()" name="ibtn_frist" id="ibtn_frist" title="第一页"                            class="aspNetDisabled" src="../Images/btn_pager_frist.gif" /></div>                </td>            </tr>        </table>    </div>

2.后台数据页面 GetDataByJson.aspx 一般都是写在hander里面

全部后台CS代码,aspx页面不需要任何代码:

public partial class GetDataByJson : System.Web.UI.Page    {        int PageIndex = 0;        int PageSize = 20;        protected void Page_Load(object sender, EventArgs e)        {            string action = Request.QueryString["action"];            if(!string.IsNullOrEmpty(Request.QueryString["index"]))                PageIndex = Convert.ToInt32(Request.QueryString["index"]);            if (!string.IsNullOrEmpty(Request.QueryString["PageSize"]))                PageSize = Convert.ToInt32(Request.QueryString["PageSize"]);            if (action == "GetJson")            {                GetJson();            }        }        /// <summary>        /// 获取json数据        /// </summary>        /// <returns></returns>        public void GetJson()        {            StringBuilder sbSql = new StringBuilder();            sbSql.Append("select b.* from Account acc ");            sbSql.Append("inner join( ");            sbSql.Append("select * from( ");            sbSql.Append("select ROW_NUMBER() over(Order by Name) rownum,Name,AccountId from Account ");            sbSql.Append(")a ");            sbSql.Append(string.Format("where a.rownum between {0} and {1} ", (PageSize * PageIndex + 1), PageSize *(PageIndex + 1)));            sbSql.Append(")b on acc.AccountId=b.AccountId");            DbHelperSQL.connectionString = PubConstant.GetConnectionString("SqlConnectionString");            DataSet ds = AreCrm.DBUtility.DbHelperSQL.Query(sbSql.ToString());            string json = ToJson(ds.Tables[0]);            sbSql = new StringBuilder();            sbSql.Append("select count(AccountId) count from Account ");            DbHelperSQL.connectionString = PubConstant.GetConnectionString("SqlConnectionString");            ds = AreCrm.DBUtility.DbHelperSQL.Query(sbSql.ToString());            json = "[{\"count\":\"" + ds.Tables[0].Rows[0][0] + "\",\"Json\":" + json + "}]";            Response.Write(json);            Response.End();        }        /// <summary>        /// 一共多少条数据        /// </summary>        /// <returns></returns>        public void GetCount()        {            StringBuilder sbSql = new StringBuilder();            sbSql.Append("select count(AccountId) count from Account ");            DbHelperSQL.connectionString = PubConstant.GetConnectionString("SqlConnectionString");            DataSet ds = AreCrm.DBUtility.DbHelperSQL.Query(sbSql.ToString());            string json = ToJson(ds.Tables[0]);            Response.Write(json);            Response.End();        }        /// <summary>              /// dataTable转换成Json格式              /// </summary>              /// <param name="dt"></param>              /// <returns></returns>              public static string ToJson(DataTable dt)        {            StringBuilder jsonBuilder = new StringBuilder();            jsonBuilder.Append("[");            for (int i = 0; i < dt.Rows.Count; i++)            {                jsonBuilder.Append("{");                for (int j = 0; j < dt.Columns.Count; j++)                {                    jsonBuilder.Append("\"");                    jsonBuilder.Append(dt.Columns[j].ColumnName);                    jsonBuilder.Append("\":\"");                    jsonBuilder.Append(dt.Rows[i][j].ToString());                    jsonBuilder.Append("\",");                }                jsonBuilder.Remove(jsonBuilder.Length - 1, 1);                jsonBuilder.Append("},");            }            jsonBuilder.Remove(jsonBuilder.Length - 1, 1);            jsonBuilder.Append("]");            return jsonBuilder.ToString();        }    }

转载于:https://www.cnblogs.com/lmy213/archive/2012/10/26/2741086.html

相关资源:asp.net jquery无刷新分页插件(jquery.pagination.js)
最新回复(0)