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

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

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

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

$(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 = '

strtable += '

编号标题内容创建时间';

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

strtable += '

';

strtable += '

' + result.d[i].Id + '';

strtable += '

' + result.d[i].NewsTitle + '';

strtable += '

' + result.d[i].NewsContent + '';

strtable += '

' + result.d[i].CreateTime + '';

strtable += '

';

}

strtable += '

';

$('#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('');

})

})

第一页 上一页 下一页 最后一页

id="txtPageindex" type="text" />Go

-------------------------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 GetListAjax(int pagesize, int pageindex)

{

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

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

List list = new List();

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层:--------------------------

///

/// 分页获取数据列表

///

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;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值