AJAX和三层架构实现分页功能具体思路及代码

复制代码 代码如下:

-----------------------------HTMLPage1.htm---------------------------------

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title></title>

<style type="text/css">

table{ border:solid 1px #444; background-color:Aqua;}

table td{border:solid 1px #444;}

</style>

<script src="js/Jquery1.7.js" type="text/javascript"></script>

<script type="text/javascript">

$(function () {

var pageindex = 1;

var pagesize = 10;

var lastpageindex = 1;

loaddata();

function loaddata() {

$.ajax({

type: "post",

contentType: "application/json",

url: "WebService1.asmx/GetListAjax",

data: "{pagesize:" + pagesize + ",pageindex:" + pageindex + "}",

success: function (result) {

var strtable = '<table>';

strtable += '<tr><td>编号</td><td>标题</td><td>内容</td><td>创建时间</td></tr>';

for (var i = 0; i < result.d.length; i++) {

strtable += '<tr>';

strtable += '<td>' + result.d[i].Id + '</td>';

strtable += '<td>' + result.d[i].NewsTitle + '</td>';

strtable += '<td>' + result.d[i].NewsContent + '</td>';

strtable += '<td>' + result.d[i].CreateTime + '</td>';

strtable += '</tr>';

}

strtable += '</table>';

$('#mydiv').html(strtable);

}

})

}

$.ajax({

type: "post",

contentType: "application/json",

url: "WebService1.asmx/GetLastPageindex",

data: "{pagesize:" + pagesize + "}",

success: function (result) {

lastpageindex = result.d;

}

})

//第一页

$('a:first').click(function () {

pageindex = 1;

loaddata();

})

//上一页

$('#divfenye a:eq(1)').click(function () {

if (pageindex > 1) {

pageindex--;

loaddata();

}

})

//下一页

$('#divfenye a:eq(2)').click(function () {

if (pageindex < lastpageindex) {

pageindex++;

loaddata();

}

})

//最后一页

$('#divfenye a:eq(3)').click(function () {

pageindex = lastpageindex;

loaddata();

})

$('#divfenye a:last').click(function () {

pageindex = $('#txtPageindex').val();

loaddata();

})

$('#txtPageindex').focus(function () {

$(this).val('');

})

})

</script>

</head>

<body>

<div id="mydiv">

</div>

<div id="divfenye"><a href="#">第一页</a><a href="#">上一页</a><a href="#">下一页</a><a href="#">最后一页</a><input

id="txtPageindex" type="text" /><a href="#">Go</a></div>

</body>

</html>

-------------------------WebService1 --------------------------------

// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。

[System.Web.Script.Services.ScriptService]

public class WebService1 : System.Web.Services.WebService

{

[WebMethod]

public string HelloWorld()

{

return "Hello World";

}

[WebMethod]

public List<Model.T_News1> GetListAjax(int pagesize, int pageindex)

{

BLL.T_News1 bnews = new BLL.T_News1();

DataTable dt = bnews.GetListDataTable(pagesize, pageindex);

List<Model.T_News1> list = new List<Model.T_News1>();

int Id;

string newstitle = "";

string newscontent = "";

DateTime createtime;

for (int i = 0; i < dt.Rows.Count; i++)

{

Id = Convert.ToInt32(dt.Rows[i]["Id"]);

newstitle = dt.Rows[i]["NewsTitle"].ToString();

newscontent = dt.Rows[i]["NewsContent"].ToString();

createtime = Convert.ToDateTime(dt.Rows[i]["CreateTime"]);

Model.T_News1 news = new Model.T_News1()

{

Id = Id,

NewsTitle = newstitle,

NewsContent = newscontent,

CreateTime = createtime

};

list.Add(news);

}

return list;

}

[WebMethod]

public int GetLastPageindex(int pagesize)

{

BLL.T_News1 bnews = new BLL.T_News1();

int totalcount = bnews.GetRecordCount("");

if (totalcount % pagesize == 0)

{

return totalcount / pagesize;

}

else

{

return totalcount / pagesize + 1;

}

}

------------------------------DAL层:--------------------------

/// <summary>

/// 分页获取数据列表

/// </summary>

public DataTable GetListDataTable(int PageSize, int PageIndex)

{

SqlParameter[] parameters = {

new SqlParameter("@PageSize", SqlDbType.Int),

new SqlParameter("@PageIndex", SqlDbType.Int)

};

parameters[0].Value = PageSize;

parameters[1].Value = PageIndex;

return DbHelperSQL.RunProcedureDataTable("pro_fenye", parameters);

}

--------------------BLL层:--------------------------

public DataTable GetListDataTable(int pagesize, int pageindex)

{

return dal.GetListDataTable(pagesize, pageindex);

}

------------------DbHelperSQL:-----------------------

public static DataTable RunProcedureDataTable(string storedProcName, IDataParameter[] parameters)

{

using (SqlConnection connection = new SqlConnection(connectionString))

{

DataTable dt = new DataTable();

connection.Open();

SqlDataAdapter sqlDA = new SqlDataAdapter();

sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);

sqlDA.Fill(dt);

connection.Close();

return dt;

}

}

时间: 2024-11-05 19:39:42

AJAX和三层架构实现分页功能具体思路及代码的相关文章

AJAX和三层架构实现分页功能具体思路及代码_AJAX相关

复制代码 代码如下: -----------------------------HTMLPage1.htm--------------------------------- <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <style type="text/css"> table{ border:solid 1px #44

android 类似微信的摇一摇功能实现思路及代码_Android

复制代码 代码如下: package com.eboy.testyaoyiyao; import java.text.SimpleDateFormat; import java.util.Date; import android.app.Activity; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import

android 类似微信的摇一摇功能实现思路及代码

复制代码 代码如下: package com.eboy.testyaoyiyao; import java.text.SimpleDateFormat; import java.util.Date; import android.app.Activity; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import

JQuery+Ajax实现数据查询、排序和分页功能_jquery

之前很少会用javascript去实现页功能主要怕麻烦,但了解JQuery后这种想法发生了变化:有了这样的脚本组件就可以在编写脚本时方便和HTML隔离出来,这样编写高重用性的脚本就更方便.下面就是介绍在学习JQuery过程中编写的基于Ajax的数据查询.排序和分页功能的复用脚本,只要遵循脚本的某些规则描述HTML把脚本文件引入就可以方便实现以上描述的功能. 先看下实现功能的代码: /**应用脚本规则: 引用脚本: JQuery脚本和JQuery的form插件脚本 Form的ID: viewfor

javabean servlet jsp实现分页功能代码解析_java

前端实现用ligerUI实现分页,感觉用框架确实简单,闲着无聊,模拟着liger的分页界面实现了一遍(只要是功能,样式什么无视)  这里用基础的三层架构+servlet+jsp实现,思路很简单,把所有分页相关信息写入到一个pagebean类里面,service返回这个bean类,每次分页查询时都从该bean里查找信息.只是其中的细节问题比较繁琐,如边界处理(前端和后台边界都要处理),下拉框跳转后要显示当前页等等  这是ligerUI实现的分页样式(实现过程我的上一篇博客有写:http://www

利用General框架进行三层架构开发

三层架构是企业信息管理系统中一种比较流行的架构方式,如大家所知,三层架构将信息系统分为数据访问层(DAL).业务逻辑层(BLL).界面表示层(UI)三部分,三层架构的好处是根据系统中代码所处的层次将系统拆开,而通过业务模型(Model)再进行连接,降低系统各层次之间的耦合度,提升程序开发和后期维护的容易度. 由 于三层架构是根据由上至下的层次进行分层,而不是根据功能.应用领域进行分层,所以三层架构在每一层的关注点并不相同,数据访问层关注的是跟数据库打交道 的部分,业务逻辑层关注的是业务逻辑处理部

利用JQuery方便实现基于Ajax的数据查询、排序和分页功能

ajax|分页|排序|数据        之前很少会用javascript去实现页功能主要怕麻烦,但了解JQuery后这种想法发生了变化:有了这样的脚本组件就可以在编写脚本时方便和HTML隔离出来,这样编写高重用性的脚本就更方便.下面就是介绍在学习JQuery过程中编写的基于Ajax的数据查询.排序和分页功能的复用脚本,只要遵循脚本的某些规则描述HTML把脚本文件引入就可以方便实现以上描述的功能.        先看下实现功能的脚代码: /**应用脚本规则:           引用脚本: JQ

c#-MVC三层架构中的的添加功能怎么写

问题描述 MVC三层架构中的的添加功能怎么写 在MVC 三层架构中 DAL层的代码怎么写 BLL层的代码怎么写 视图中的模板页怎么用 解决方案 MVC不过是个编程规则,指导思想,它只是在指引技术应该怎样设计 搞.NET的话有ASP.NET MVC,具体下载个PDF或者视频啃啃吧 解决方案二: 好像没有三层架构的概念,在你建好各个类拉好关系后会自动生成数据库,也可以用自己建的数据库(要完全对应),如果你要三层架构是要操作数据库的话 mvc我是用Tolinq(就像在cs写sql语句一样),把数据结果

Yii框架结合sphinx,Ajax实现搜索分页功能示例_php实例

本文实例讲述了Yii框架结合sphinx,Ajax实现搜索分页功能的方法.分享给大家供大家参考,具体如下: 效果图: 控制器: <?php namespace backend\controllers; use Yii; use yii\web\Controller; use yii\data\Pagination; use SphinxClient; use yii\db\Query; use yii\widgets\LinkPager; use backend\models\Goods; cl