代码下行Jquery结合Ajax和Web服务使用三层架构实现无刷新分页

这段时间一直在研究代码下行之类的问题,现在正好有机会和大家共享一下.

    在Web服务里代码

/// <summary>

    /// WebService1 的摘要说明

    /// </summary>

    [WebService(Namespace = "http://tempuri.org/")]

    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

    [System.ComponentModel.ToolboxItem(false)]

    // 若要答应应用 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_Student> GetListAjax(int pageindex,int pagesize) {

            BLL.T_Student bll = new BLL.T_Student();

            int count= bll.GetRecordCount("");

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

            List<Model.T_Student> li = new List<Model.T_Student>();

            string name = "";

            int age;

            string gender = "";

            foreach (DataRow row in dt.Rows)

            {

                name = row["sName"].ToString();

                age =Convert.ToInt32(row["sAge"]);

                gender = row["sGender"].ToString();

                Model.T_Student model = new Model.T_Student();

                model.sName = name;

                model.sAge = age;

                model.sGender = gender;

                li.Add(model);

            }

            return li;

        }

        [WebMethod]

        public int GetLastPageindex(int pagesize)

        {

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

            int totalcount = bnews.GetRecordCount("");

            if (totalcount % pagesize == 0)

            {

                return totalcount / pagesize;

            }

            else

            {

                return totalcount / pagesize + 1;

            }

        }

    }

    
html页代码

    每日一道理
无知者为梦想中的虚幻而苦苦等待,换回的不是所求的,而是岁月在脸上留下的印痕,一事无成的人一生便是虚度。生活中,与其花时间去等待,不如加快步伐去追寻理想,试着与时间赛跑,也许身躯、心理会感到劳累,但这样的生活毕竟是充实的。
<script src="jquery/Jquery1.7.js" type="text/javascript"></script>

    <script type="text/javascript">



        $(function () {

            var pagesize = 6;

            var pageindex = 1;

            var lastindex = 1;



            function loaddata() {

                $.ajax({

                    type: "post",

                    contentType: "application/json",

                    url: "WebService1.asmx/GetListAjax",

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

                    success: function (result) {

                        //                        if (result.d.length % pagesize == 0) {

                        //                            lastindex = result.d.length / pagesize;

                        //                        }

                        //                        else {

                        //                            lastindex = result.d.length / pagesize + 1;

                        //                        }

                        var biaoqian = "<table>";

                        biaoqian += "<tr><td>姓名</td><td>性别</td><td>年龄</td></tr>";



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

                            biaoqian += "<tr>";

                            biaoqian += "<td>" + result.d[i]["sName"] + "</td>";

                            biaoqian += "<td>" + result.d[i]["sGender"] + "</td>";

                            biaoqian += "<td>" + result.d[i]["sAge"] + "</td>";

                            biaoqian += "</tr>";

                        }

                        biaoqian += "</table>";

                        $('#divtable').html(biaoqian);

                    }

                })

            }

            function aaa() {

                $.ajax({

                    type: "post",

                    contentType: "application/json",

                    url: "WebService1.asmx/GetLastPageindex",

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

                    success: function (result) {

                        lastindex = result.d;

                        //alert(lastindex);

                    }

                })

            }

            loaddata();

            aaa();

            $("a:eq(0)").click(function () {

                pageindex = 1;

                loaddata();

            })

            $("a:eq(1)").click(function () {

                if (pageindex > 1) {

                    pageindex--;

                    loaddata();

                }

            })

            $("a:eq(2)").click(function () {

                if (pageindex < lastindex) {

                    pageindex++;

                    loaddata();

                }

            })

            $("a:eq(3)").click(function () {

                pageindex = lastindex;

                loaddata();

            })

        })

    </script>

    
 

<div id="divtable"></div>

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

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

    
Bll层

private readonly 分页一小时内完成.SQLServerDAL.T_Student dal = new SQLServerDAL.T_Student();

		public T_Student()

		{}

        public DataTable GetListDataTable(int PageIndex, int PageSize) {

            return dal.GetListDataTable(PageSize, PageIndex);

        }

    
DAL层

public DataTable GetListDataTable(int PageSize, int PageIndex)

        {

            SqlParameter[] parameters = {

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

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

					};

            parameters[0].Value = PageIndex;

            parameters[1].Value = PageSize;

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

        }

    
DataAccess

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

        {

            SqlConnection connection = new SqlConnection(connectionString);

            DataTable dt = new DataTable();

            connection.Open();

            SqlCommand command = BuildQueryCommand(connection, storedProcName, parameters);

            command.CommandType = CommandType.StoredProcedure;

            SqlDataAdapter adapter = new SqlDataAdapter(command);

            adapter.Fill(dt);

            connection.Close();

            return dt;



        }

    
 

文章结束给大家分享下程序员的一些笑话语录: 这年头的互联网真是娱乐了中国,网民们从各种各样的“门”里钻来钻去,又有好多“哥”好多“帝”,值得大家品味不已……网络经典语录,关于IT与互联网,经典与您分享!

--------------------------------- 原创文章 By 代码和下行 ---------------------------------

你可能感兴趣的:(jquery)