使用Ajax的UpdatePanel控件和DataList控件 实现的无刷新分页。

详细过程:

1.1.  启动sqlserver,创建数据库ajax数据库中创建sale表,点击新建查询,写入代码:
create table sale
(
    sid char(5)  primary key,    --销售编号
    pid char(5),        --商品编号
    pname varchar(50),    --商品名称
    unit varchar(4),    --单位
    number int,        --销售数量
    price decimal,        --单价
    sdate datetime,        --销售日期
    people varchar(20)    --经手人
)
go
2.1  点击文件-新建-网站,命名WebAjax,点击确定按钮。

2.2.在默认项目中 添加个web窗体,命名为Default

2.3.在Default页面中,拖入一个ScriptManager控件,再拖入一个UpdatePanel控件

2.4.在UpdatePanel中拖入一个DataList控件,用来显示和分页 数据库中的商品数据;

2.5.写好DataList中数据模版和 模版样式

2.6.拖入三个个Lable控件,Lable1用来显示当前页,Lable2用来显示总页数,Lable3存储当前页码


2.7.拖入四个Button控件,Button1用来控制 显示首页数据,Button2用来控制 显示上一页数据,

Button3用来控制 显示下一页数据,Button4用来控制 显示尾页数据,

2.8,写后台cs代码,调试并成功。

1.前台:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_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 runat="server"><title>Ajax实验</title><style type="text/css">.style1{width: 100%;}</style>
</head>
<body><form id="form1" runat="server"><div><asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager><asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always"><ContentTemplate><asp:DataList ID="DataList1" runat="server" BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Horizontal"><AlternatingItemStyle BackColor="#F7F7F7" /><FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" /><HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" /><ItemStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" /><HeaderTemplate><table class="style1"><tr><tr><td>销售编号</td><td>商品编号</td><td>商品名称</td><td>单位</td><td>销售数量</td><td>单价</td><td>销售日期</td><td>经手人</td></tr></tr></HeaderTemplate><ItemTemplate><tr><td><%# DataBinder.Eval(Container.DataItem, "sid")%></td><td><%# DataBinder.Eval(Container.DataItem, "pid")%></td><td><%# DataBinder.Eval(Container.DataItem, "pname")%></td><td><%# DataBinder.Eval(Container.DataItem, "unit")%></td><td><%# DataBinder.Eval(Container.DataItem, "number")%></td><td><%# DataBinder.Eval(Container.DataItem, "price")%></td><td><%# DataBinder.Eval(Container.DataItem, "sdate")%></td><td><%# DataBinder.Eval(Container.DataItem, "people")%></td></tr></ItemTemplate><FooterTemplate></table></FooterTemplate><SelectedItemStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" /></asp:DataList><asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><asp:Label ID="Label2" runat="server" Text="Label"></asp:Label><asp:Button ID="Button1" runat="server" Text="首页" οnclick="Button1_Click" /><asp:Button ID="Button2" runat="server" Text="上一页" οnclick="Button2_Click" /><asp:Button ID="Button3" runat="server" Text="下一页" οnclick="Button3_Click" /><asp:Button ID="Button4" runat="server" Text="尾页" οnclick="Button4_Click" /><br /><asp:Label ID="Label3" runat="server" Text="1"></asp:Label></ContentTemplate></asp:UpdatePanel></div></form></body>
</html>

2.后台

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;public partial class _Default : System.Web.UI.Page
{SqlConnection sqlcon = new SqlConnection(@"server=.\sqlexpress;database=ajax;integrated security=SSPI");public string strsql = "SELECT * FROM sale";PagedDataSource page = new PagedDataSource();protected void Page_Load(object sender, EventArgs e){BindList(1);}private void BindList(int index){SqlDataAdapter adp = new SqlDataAdapter(strsql, sqlcon);sqlcon.Open();DataSet dst = new DataSet();adp.Fill(dst, "table");DataTable tab = new DataTable();tab = dst.Tables["table"];page.DataSource = tab.DefaultView;//分页实现page.PageSize = 3;page.AllowPaging = true;page.CurrentPageIndex = index - 1;this.Label1.Text = index.ToString();this.Label2.Text = page.PageCount.ToString();DataList1.DataSource = page;DataList1.DataBind();sqlcon.Close();}protected void Button1_Click(object sender, EventArgs e){BindList(1);Label3.Text = "1";}protected void Button2_Click(object sender, EventArgs e)//上一页{if (Convert.ToInt32(Label3.Text) == 1){BindList(1);Label3.Text = "1";}else{BindList(Convert.ToInt32(Label3.Text)-1);Label3.Text = (Convert.ToInt32(Label3.Text)-1).ToString();}}protected void Button3_Click(object sender, EventArgs e)//下一页{if (Convert.ToInt32(Label3.Text) == (page.PageCount - 1)){BindList(page.PageCount);Label3.Text = page.PageCount.ToString();}else{BindList(Convert.ToInt32(Label3.Text) + 1);Label3.Text = (Convert.ToInt32(Label3.Text) + 1).ToString();}}protected void Button4_Click(object sender, EventArgs e){BindList(page.PageCount);Label3.Text = page.PageCount.ToString();}
}

转载于:https://www.cnblogs.com/lechao/p/3655650.html

ASP.NET Ajax 实现无刷新分页相关推荐

  1. jQuery+Ajax+PHP无刷新分页

    代码需要在后台运行(包括页面index.html,ajax.php,connect.php,还有数据库food.sql) index.html <!DOCTYPE html> <ht ...

  2. smarty+php+ajax 简单无刷新分页

    简介 分页,无非就是从数据库中获得我们想查询的数据,再加以处理即可! ① 确定数据总数($count) ② 每页显示数据条数($pageSize) ③ 分多少页($pageCount) ④ 上一页($ ...

  3. 在Thinkphp中使用AJAX实现无刷新分页

    在Thinkphp目录的Lib\ORG\Util\目录里新建AjaxPage.class.php,写入一下内容: <?php // +------------------------------ ...

  4. ajax实现无刷新分页与提示

    目录 封装dao方法 通用查询 分页sql语句定义oracle 语句dao 方法 Servlet界面获取数据代码 分页与提示共用界面 以及加载主页数据 Html界面代码 显示与搜索实现 分页下一页应用 ...

  5. Ajax实现无刷新分页效果

    <!doctype html> <html lang="en"> <head><meta charset="UTF-8" ...

  6. Ajax 实现无刷新分页

    用这种ajax做分页的方法比较简单,把代码直接复制就可以,然后根据实际更改一下里面的参数. 1.设置分页显示显示的样式,显示效果如下. <style type="text/css&qu ...

  7. jquery+ajax通用无刷新分页

    前台自定义通用分页jquery插件 (一)框架:用jquery+ajax+struts1实现 自动创建行和列 持久层用的是abatis.数据库用的是MySQL. (二)sqlMap shangjia. ...

  8. php ajax无刷新分页源码,ajax实现无刷新分页(php)

    投票结果 function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=ne ...

  9. AJAX之无刷新分页

    准备导包+BuildPath 两个jar包---------放入lib文件夹中    JSON的jar包:fastjson-1.2.47.jar  jQuery的类库-------放入js文件夹中   ...

  10. thinkphp ajax 无刷新分页效果的实现

    思路:先做出传统分页效果,然后重新复制一份Page.class.php类,对它进行修改,把js中的函数传到page类中,把上一页.下一页.首页.尾页.链接页中的url地址改成js控制的函数,模板页面中 ...

最新文章

  1. 35岁中年博士失业,决定给后辈一些建议!
  2. 函数 —— fgets()
  3. 华为呼叫中心解决方案学习笔记一(方案概述)
  4. html+css响应式布局
  5. linux源码编译安装apache,Ubuntu 16.04源码编译安装Apache 2.4.25教程
  6. api wke_好用的wke浏览器代码,兼容chrome
  7. [转帖] 一个老乞丐的一句话,震惊全中国人!
  8. Mann-Whitney 统计量
  9. python蒙特卡洛模拟return_蒙特卡罗方法入门
  10. 美国VERSA VGG-4422-U-A240有一种幸福叫微笑
  11. c盘压缩卷压缩不了怎么办 c盘压缩卷只能压缩一半的解决方法
  12. 嵌入式开发语言-C语言编程
  13. 解谜:为何用了9-Patch背景图后自带Padding属性?
  14. 卡片消除游戏 java版(代码+讲解)
  15. 小篮子玩意儿、你苏爷就是扣字神话不服气么。
  16. MySQL——IN的用法详解
  17. 浅谈Thread.setDaemon
  18. 键盘触发keypress事件,键值列表
  19. php如何把网页存成图片格式,php怎么生成图片 网页快照?
  20. php mysql图片存储_PHP-mysql存储照片的两种方式

热门文章

  1. oracle 自治事务异常不回滚,ORA-06519: 检测到活动的自治事务处理,已经回退
  2. vc mysql ado blob_在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。...
  3. oracle 设置不可重复,oracle – 不可重复读和幻读之间有什么区别?
  4. 算法: 最大正方形面积221. Maximal Square
  5. 机器学习- 吴恩达Andrew Ng 编程作业技巧 for Week5 Neural Networks Learning
  6. swift5 decimal 转换为String 并制定小数点位数
  7. NumPy库---拷贝
  8. lingo纳什均衡代码_数学建模练习题.
  9. paddle serving
  10. 417.太平洋大西洋水流问题