当前位置: 首页 > news >正文

一个简单的例子演示:通过浏览器的滚动条来动态加载数据

直接贴代码了:

<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"
    Inherits="CSASPNETInfiniteLoading._Default" %>

<!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 id="Head1" runat="server">
    <title>Infinite loading</title>
    <link rel="stylesheet" href="Styles/Site.css" type="text/css" />
    <script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {

            function lastPostFunc() {
                $('#divPostsLoader').html('<img src="images/bigLoader.gif">');

                //send a query to server side to present new content
                $.ajax({
                    type: "POST",
                    url: "Default.aspx/Foo",
                    data: "{}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (data) {

                        if (data != "") {
                            $('.divLoadData:last').after(data.d);
                        }
                        $('#divPostsLoader').empty();
                    }

                })
            };

            //When scroll down, the scroller is at the bottom with the function below and fire the lastPostFunc function
            $(window).scroll(function () {
                if ($(window).scrollTop() == $(document).height() - $(window).height()) {
                    lastPostFunc();
                }
            });

        });
    </script>
</head>
<body>
    <form id="Form1" runat="server">
    <div style="height: 900px">
        <h1>
            Simply scroll down to see new content loading...</h1>
    </div>
    <div class="divLoadData">
    </div>
    <div id="divPostsLoader">
    </div>
    </form>
</body>
</html>

 

后台代码:

using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;
using System.Data;
using System.Text;

namespace CSASPNETInfiniteLoading
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }


        [WebMethod]
        public static string Foo()
        {
            StringBuilder getPostsText = new StringBuilder();
            using (DataSet ds = new DataSet())
            {
                ds.ReadXml(HttpContext.Current.Server.MapPath("App_Data/books.xml"));
                DataView dv = ds.Tables[0].DefaultView;

                foreach (DataRowView myDataRow in dv)
                {
                    getPostsText.AppendFormat("<p>author: {0}</br>", myDataRow["author"]);
                    getPostsText.AppendFormat("genre: {0}</br>", myDataRow["genre"]);
                    getPostsText.AppendFormat("price: {0}</br>", myDataRow["price"]);
                    getPostsText.AppendFormat("publish date: {0}</br>", myDataRow["publish_date"]);
                    getPostsText.AppendFormat("description: {0}</br></p>", myDataRow["description"]);
                }
                getPostsText.AppendFormat("<div style='height:15px;'></div>");

            }
            return getPostsText.ToString();
        }
    }
}

 

 

谢谢浏览!

转载于:https://www.cnblogs.com/Music/archive/2012/07/28/html-ajax-load-data-with-browser-scroll-down.html

相关文章:

  • Code Kata:螺旋矩阵 javascript实现
  • C++容器与算法
  • PostgreSQL在何处处理 sql查询之四十三
  • Tomcat建立多个应用(Web Server),多个主机,多个站点的方法
  • org.tmatesoft.svn.core.SVNCancelException: svn: E200015: authentication canc
  • Linux下查看Tomcat的控制台输出信息
  • 每天一句话
  • Android基础 使用ToolBar教你打造一个通用的标题栏
  • 单点登录配置问题
  • Mac 10.11 React Native 安装记录
  • 字符串编辑距离(转载)
  • 2.10-2.13环境变量、CP、MV、文档查看
  • Civil 3D 2013新功能及新API Webcast下载
  • wpf treeview 数据绑定 递归绑定节点
  • xml文件的解析
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • co模块的前端实现
  • HTML中设置input等文本框为不可操作
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • Java比较器对数组,集合排序
  • node入门
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • python docx文档转html页面
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Selenium实战教程系列(二)---元素定位
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 你真的知道 == 和 equals 的区别吗?
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 怎么将电脑中的声音录制成WAV格式
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 06-01 点餐小程序前台界面搭建
  • 1.Ext JS 建立web开发工程
  • Java总结 - String - 这篇请使劲喷我
  • ​iOS实时查看App运行日志
  • #《AI中文版》V3 第 1 章 概述
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #if和#ifdef区别
  • #图像处理
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (12)目标检测_SSD基于pytorch搭建代码
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (八)c52学习之旅-中断实验
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (算法二)滑动窗口
  • (一)appium-desktop定位元素原理
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NET命名规范和开发约定