C#は、記事一覧のページを実装負荷がより多くの達成をクリックしていません

背景データは、カスタムピースの数、記事、ヒントやこれ以上のデータの後、スプライスプレートレイアウトページリストよりも大きい場合はまず、AJAX非同期バックグラウンドデータの取得を使用して、フロントエンドの負荷より多くのボタンを追加し、データの取得は、成功しています。

<div class="load" id="load"><a href="javascript:loadMore();">加载更多</a></div>						
	<script type="text/javascript">
	var pageindex = 1; //页数
	var pagesize = 8; //每页条数
	function loadMore() {
	$.ajax({
	url: '/dev/ClickLoad.ashx',
	type: 'POST',
	dataType: 'json',
	data: {
	action: 'more',
	pageindex: ++pageindex,
	pagesize: pagesize,
	cid: '<%=category_id%>'
		},
	success: function(d) {
		if(d.code == 0) {
		var str = "";
		jQuery.each(d.data, function(i, o) {
     var onlyDate =o.add_time.substring(0,10);		
     str += '<li>' +									   	                            
	 '<div class="photo_box">' +
	'<a href="bulletinboard_show.aspx?id='+o.id+'" title="' + o.title + '">' +
	'<i>'+'</i>' +
	'<span>' +o.title+
	'</span>' +
	'</a>' +
	'<em>' +onlyDate+
	'</em>' +
	'</li>';
	})
	$("#all").append(str);
	if(d.datanum < pagesize) {
	$('#load').html("暂无更多数据");
		}
		} else {
	$('#load').html("暂无更多数据");
		}
		},
		error: function(e) {}
		})
		}
	</script>

ロジック処理

<%@ WebHandler Language="C#"  Class="DTcms.Web.dev.ClickLoad" %>
using System;
using System.Collections.Generic;
using System.Web;
using System.IO;
using System.Text;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using DTcms.Common;
using DTcms.DBUtility;
using NetWing.Common.Data.SQLServer;
using NetWing.Common.Request;
using NetWing.Common;
namespace DTcms.Web.dev
{
    /// <summary>
    /// dev 的摘要说明
    /// </summary>
    public class ClickLoad : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string action = context.Request["action"];
            if (string.IsNullOrEmpty(action))
            {
                context.Response.Write("{\"code\":1000, \"msg\":\"请求失败,参数有误!\"}");
                return;
            }
            switch (action)
            {
                case "more":
                    GetMore(context);
                    break;
            }
        }

        public void GetMore(HttpContext context)
        {
            int pageindex = int.Parse(context.Request["pageindex"]);//当前第几页
            int pagesize = int.Parse(context.Request["pagesize"]);//每页记录条数
            string cid = context.Request["cid"];
            string strWSQL = "1=1";
            if (!string.IsNullOrEmpty(cid))
            {
                strWSQL = " category_id=" + cid;
            }
            string sqls = "select count(id) from dt_article where " + strWSQL + "";
            int allsize = (int)SqlEasy.ExecuteScalar(sqls);//总条数
            int allpagesiza = 0;
            decimal de = 0M;
            if (allsize != 0)
            {
                de = Convert.ToDecimal(allsize) / Convert.ToDecimal(pagesize);
                allpagesiza = (int)Math.Ceiling(de);
            }
            int pagenum = (pageindex - 1) * pagesize;
            DataTable dt = SqlEasy.ExecuteDataTable("select top " + pagesize + " * from(select row_number() over(order by sort_id asc,add_time desc,id desc) as rownumber,* from dt_article where " + strWSQL + ") A where rownumber > " + pagenum + "");
          
            if (dt.Rows.Count > 0)
            {
                context.Response.Write("{\"code\":0,\"msg\":\"获取成功!\",\"data\":" + JSONhelper.ToJson(dt, false) + ",\"datanum\":" + dt.Rows.Count + "}");
            }
            else
            {
                context.Response.Write("{\"code\":1000,\"msg\":\"暂无数据!\"}");
            }
        }


        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}
リリース6元記事 ウォンの賞賛3 ビュー166

おすすめ

転載: blog.csdn.net/weixin_43739179/article/details/102837245