ajax链接数据库 分页

前台:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <style>
        table tr td, th {
            border: 1px solid black;
        }
        /*table {
            border:1px solid black;
        }*/
    </style>
    <script src="script/jquery-1.10.2.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            var pageindex = 1;
            var pagesize = 10;
            var lastpageindex = 0;
            var textNumber = $('#Text1').val();
            getdata();
            //加载数据
            function getdata() {
                $.ajax({
                    type: "post",
                    contentType: "application/json",
                    url: "WebService2.asmx/LoadArticle",
                    data: "{pageindex:" + pageindex + ",pagesize:" + pagesize + "}",
                    success: function (data) {
                        //alert(data.d.length);
                        var strtable = "<table>";
                        strtable += "<tr><th>编号</th><th>标题</th><th>内容</th><th>作者</th></tr>"
                        for (var i = 0; i < data.d.length; i++) {
                            strtable += "<tr><td>" + data.d[i].ArticleId + "</td><td>" + data.d[i].ArticleTitle + "</td><td>" + data.d[i].ArticleContent + "</td><td>" + data.d[i].UserName + "</td></tr>";
                        }
                        strtable += "</table>";
                        $('#divArticle table').remove();
                        $('#divArticle').append(strtable);
                    },
                    error: function () {
                        alert("失败!");
                    }
                })
            }


            $.ajax({
                type: "post",
                contentType: "application/json",
                url: "WebService2.asmx/getLastPageindex",
                data: "{pagesize:" + pagesize + "}",
                success: function (data) {
                    //alert(data.d.length);
                    lastpageindex = data.d;
                    //document.getElementById('Label1').val() = pageindex + "/" + data.d + "页";
                },
                error: function () {
                    alert("总页数获取失败!");
                }
            })


            $('#btnFirst').bind('click', function () {
                pageindex = 1;
                getdata();
            })
            $('#btnNext').bind('click', function () {
                if (pageindex < lastpageindex) {
                    pageindex++;
                    getdata();
                }
            })
            $('#btnPre').bind('click', function () {
                if (pageindex > 1) {
                    pageindex--;
                    getdata();
                }
            })
            $('#btnLast').bind('click', function () {
                pageindex = lastpageindex;
                getdata();
            })
        })
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div id="mydiv">
            <div id="divArticle">
            </div>
            <div>
                <input id="btnFirst" type="button" value="首页" />
                <input id="btnPre" type="button" value="上一页" />
                <input id="btnNext" type="button" value="下一页" />
                <input id="btnLast" type="button" value="尾页" />
               /* <input id="Text1" type="text" />
                <input id="Button1" type="button" value="button" />
                <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>*/
            </div>
        </div>
    </form>
</body>
</html>


后台:WebService

//分页
        [WebMethod]
        public List<Article> LoadArticle(int pageindex, int pagesize)
        {
            string sqlstr = ConfigurationManager.ConnectionStrings["sqlserver"].ConnectionString;
            DataTable dt = new DataTable();
            using (SqlConnection conn=new SqlConnection(sqlstr))
            {
                using (SqlCommand cmd=conn.CreateCommand())
                {
                    cmd.CommandText = "select * from (select ROW_NUMBER() over(order by ArticleId) as rownumber,* from T_Article)t where t.rownumber>(@pageindex-1)*@pagesize and t.rownumber<=@pageindex*@pagesize";
                    cmd.Parameters.AddWithValue("@pageindex",pageindex);
                    cmd.Parameters.AddWithValue("@pagesize",pagesize);
                    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                    adapter.Fill(dt);
                }
            }
            List<Article> list = new List<Article>();
            if (dt.Rows.Count>0)
            {
                foreach (DataRow row in dt.Rows)
                {
                    Article myarticle = new Article();
                    myarticle.ArticleId = row["ArticleId"].ToString();
                    myarticle.ArticleTitle = row["ArticleTitle"].ToString();
                    myarticle.ArticleContent = row["ArticleContent"].ToString();
                    myarticle.UserName = row["UserName"].ToString();
                    list.Add(myarticle);
                }
            }
            return list;
        }


        //获取总页数
        [WebMethod]
        public int getLastPageindex(int pagesize)
        {
            string sqlstr = ConfigurationManager.ConnectionStrings["sqlserver"].ConnectionString;
            int count = 0;
            int lastpageindex = 0;
            using (SqlConnection conn=new SqlConnection(sqlstr))
            {
                conn.Open();
                using (SqlCommand cmd=conn.CreateCommand())
                {
                    cmd.CommandText = "select count(*) from T_Article";
                    count = Convert.ToInt32(cmd.ExecuteScalar());
                    if (count % pagesize == 0)
                    {
                        lastpageindex = count / pagesize;
                    }
                    else {
                        lastpageindex = count / pagesize + 1;
                    }
                }
                return lastpageindex;
            }
        }


        /*public string getpageindex(string txtNumber)
        { 
        
        }*/


    }
    public class getMyarticle
    {
        public int ArticleId { get; set; }
        public string ArticleTitle { get; set; }
        public string ArticleContent { get; set; }
        public string UserName { get; set; }
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值