ajax 基础2
连接数据库实现分页功能
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
#table {
width: %;
background-color: blue;
text-align: center;
font-weight: bold;
}
</style>
<script src="jquery-1.7.2.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table id="table">
<thead style="color: white;">
<tr>
<td>用户名</td>
<td>密码</td>
<td>昵称</td>
<td>性别</td>
<td>生日</td>
<td>年龄</td>
<td>民族</td>
<td>班级</td>
</tr>
</thead>
<tbody style="background-color: white" id="tbody">
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<tr>
<td><%#Eval("username") %></td>
<td><%#Eval("password") %></td>
<td><%#Eval("nick") %></td>
<td><%#Eval("sexstar") %></td>
<td><%#Eval("birthday") %></td>
<td><%#Eval("age") %></td>
<td><%#Eval("nationname") %></td>
<td><%#Eval("classname") %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</tbody>
</table>
<input type="button" value="上一页" id="btn1" disabled="disabled" />
<input type="button" value="下一页" id="btn2" />
当前第<span id="span"></span>页
</div>
</form>
</body>
</html>
<script type="text/javascript">
var pagecount = ;
var pagenumber = ;
document.getElementById("btn1").onclick = function () {
document.getElementById("btn2").disabled = "";
pagenumber--;
Change(pagecount, pagenumber);
if (pagenumber <= ) {
document.getElementById("btn1").disabled = "disabled";
}
else {
document.getElementById("btn1").disabled = "";
} };
document.getElementById("btn2").onclick = function () { $.ajax({
url: "ajax/Hand2.ashx",
data: {},
type: "post",
dataType: "json",
success: function (data1) { document.getElementById("btn1").disabled = "";
pagenumber++;
Change(pagecount, pagenumber);
if (pagenumber >= parseInt(data1.aaa)) {
document.getElementById("btn2").disabled = "disabled";
}
else {
document.getElementById("btn2").disabled = "";
}
}
}) };
function Change(count, number) {
$.ajax({
url: "ajax/Hand.ashx",
data: { "count": count, "number": number },
type: "post",
dataType: "json",
success: function (data) {
document.getElementById("tbody").innerHTML = "";
for (i in data) {
var end = "<tr>";
end += "<td>" + data[i].username + "</td>";
end += "<td>" + data[i].password + "</td>";
end += "<td>" + data[i].nickname + "</td>";
end += "<td>" + data[i].sex + "</td>";
end += "<td>" + data[i].birthday + "</td>";
end += "<td>" + data[i].age + "</td>";
end += "<td>" + data[i].nation + "</td>";
end += "<td>" + data[i].class + "</td>";
end += "</tr>"; document.getElementById("tbody").innerHTML += end;
}
document.getElementById("span").innerHTML = number;
}
});
} </script>
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Repeater1.DataSource = new UsersData().select(,);
Repeater1.DataBind();
}
}
}
用Repeater绑定初始数据
<%@ WebHandler Language="C#" Class="Hand" %> using System;
using System.Web;
using System.Collections.Generic; public class Hand : IHttpHandler { public void ProcessRequest (HttpContext context) {
int c = Convert.ToInt32(context.Request["count"]);
int n = Convert.ToInt32(context.Request["number"]); string json = "["; List<WindowsFormsApplication1.App_Code.Users> ulist = new WindowsFormsApplication1.App_Code.UsersData().select(c,n);
int count = ;
foreach (WindowsFormsApplication1.App_Code.Users u in ulist)
{
if (count > )
{
json += ",";
}
json += "{\"username\":\"" + u.Username+ "\",\"password\":\"" + u.Password+ "\",\"nickname\":\"" + u.Nick + "\",\"sex\":\"" + (u.Sex ? "男" : "女") + "\",\"birthday\":\"" + u.Birthday.ToString("yyyy年MM月dd日") + "\",\"nation\":\"" + u.NationName + "\",\"class\":\"" + u.ClassName + "\",\"age\":\"" + u.age + "\"}";
count++;
} json += "]";
context.Response.Write(json);
context.Response.End(); } public bool IsReusable {
get {
return false;
}
} }
Hand.ashx
<%@ WebHandler Language="C#" Class="Hand2" %> using System;
using System.Web; public class Hand2 : IHttpHandler { public void ProcessRequest (HttpContext context) {
string json1;
System.Collections.Generic.List<WindowsFormsApplication1.App_Code.Users> Ulist = new WindowsFormsApplication1.App_Code.UsersData().Select();
int a = Ulist.Count;
string maxpage = (Math.Ceiling(a / 3.0)).ToString();
json1 = "{\"aaa\":\"" + maxpage + "\"}";
context.Response.Write(json1);
context.Response.End();
} public bool IsReusable {
get {
return false;
}
} }
Hand2.ashx
ajax 基础2的更多相关文章
- 史上最全的Ajax基础详解
同步请求和异步请求 先解释一下同步和异步的概念: 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式. 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯 ...
- 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】
一.JavaScript基础增强 1.弹窗 (1)使用window对象的showModelDialog方法和showModelessDialog方法分别可以弹出模式窗口和非模式窗口,但是只能在IE中使 ...
- Ajax基础知识《一》
对于网站开发人员,一定不会陌生的Ajax技术,本篇就让我们认识一下它,或许在日后的开发过程中我们就可以使用到.Ajax在那方面使用的比较多呢?答案:表单注册,传统的表单注册,有时需要填写大量的信息,当 ...
- Ajax基础2
什么是服务器 网页浏览过程的分析 如何配置自己的服务器程序(AMP) 什么是Ajax 无刷新数据读取 异步,同步 Ajax基础(2) 使用Ajax 基础请求显示txt的文件 字符集编码 缓存,阻止缓存 ...
- ajax基础语法、ajax做登录、ajax做用户名验证是否可用、ajax做关键字查询动态显示、ajax做用表格显示数据并增加操作列
AJAX: AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. ...
- Ajax基础--JavaScript实现
ajax原理 1.ajax 即“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),也就是无刷新数据读取. 通俗地讲就是:AJAX 通过在后台与 ...
- jQuery基础---Ajax基础教程(二)
jQuery基础---Ajax进阶 内容提纲: 1.加载请求 2.错误处理 3.请求全局事件 4.JSON 和 JSONP 5.jqXHR 对象 发文不易,转载请注明出处! 在 Ajax 基础一篇中, ...
- jQuery基础---Ajax基础教程
jQuery基础---Ajax基础 内容提纲: 1.Ajax 概述 2.load()方法 3.$.get()和$.post() 4.$.getScript()和$.getJSON() 5.$.ajax ...
- Ajax基础知识(二)
接上一篇 Ajax基础知识(一) 在上一篇博客里,抛弃了VS中新建aspx页面,拖个button写上C#代码的方式.使用ajax的方式,异步向服务器请求数据.我们让服务器只简单的返回一个" ...
- 原生AJAX基础讲解及兼容处理
原文:原生AJAX基础讲解及兼容处理 AJAX = Asynchronous JavaScript and XML (异步的JavaScript和XML). AJAX不是新技术 ,但却是热门的技术.它 ...
随机推荐
- USACO Section 1.3 Ski Course Design 解题报告
题目 题目描述 有N座山,每座山都有一个高度,现在由于农夫想避税,所以想把这些山的高度进行一些改变,使得最高的山与最低的山之间的高度差不超过17.每座山最多只能改变一次高度,每次改变高度都会产生一定的 ...
- linux下的vim使用笔记
环境:window下可以使用gvim编辑软件 学习主要是在ubuntu15敲击命令学习的视频来自于智普教育vim使用视频1. sudo apt show vi 查看安装的vi版本,当然了我的ubunt ...
- 理解用requireJs 来实现javascript的模块化加载
这是我看到的一片关于requirejs的初学者的文章,写的不错,下面结合自己的理解记录一下: 原文:http://www.sitepoint.com/understanding-requirejs-f ...
- 转: 两个 Shell 网站: explainshell 和 shellcheck
今天向大家介绍两个有意思的 Shell 网站,一个是 explainshell.com,另一个是 shellcheck.net. explainshell 先说 explainshell.explai ...
- gen_create_syn.sql
set echo off feedback off verify off pagesize 0 linesize 120 ---变量从 sqlplus 的 call代码 传递过来 . -- 1 表示连 ...
- 51nod 修改数组
修改数组 给出一个整数数组A,你可以将任何一个数修改为任意一个正整数,最终使得整个数组是严格递增的且均为正整数.问最少需要修改几个数? Input 第1行:一个数N表示序列的长度(1 <= N ...
- android 画图之setXfermode .
setXfermode 设置两张图片相交时的模式 我们知道 在正常的情况下,在已有的图像上绘图将会在其上面添加一层新的形状. 如果新的Paint是完全不透明的,那么它将完全遮挡住下面的Paint: 而 ...
- aspx 文件上传和下载,多文件上传
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MultiFileUpload. ...
- Android在一个APP中通过包名或类名启动另一个APP
开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用.一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通 ...
- POJ 3258 River Hopscotch(二分查找答案)
一个不错的二分,注释在代码里 #include <stdio.h> #include <cstring> #include <algorithm> #include ...