zoukankan      html  css  js  c++  java
  • 代码下行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 代码和下行 ---------------------------------

  • 相关阅读:
    Mysql推荐使用规范
    程序员应该经常浏览的技术网站
    百度,腾讯,阿里等互联网公司年终奖发多少
    JNI技术详解,让程序有飞一般的感觉
    日志:分布式系统的核心
    Spring Boot七:Spring boot集成MyBatis
    通俗理解TCP的三次握手
    JDBC添加数据
    JDBC概念
    今天是阳光明媚的一天
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3095867.html
Copyright © 2011-2022 走看看