無重新整理分頁 Ajax,JQuery,Json

來源:互聯網
上載者:User

標籤:代碼   定義   客戶   each   ons   cli   and   row   ber   

1.資料庫設計
欄位:Id(int) , Msg(varchar(MAX)) , PostDate(datetime)

2.自訂SQL查詢方法(強型別DataSet)

//SelectCount()方法,用於查詢總條數
select count(*) from T_Posts

//GetPageData(startRowIndex,endRowIndex)方法,用於查詢指定範圍,分頁功能,
由於不支援over語句,因此需手動增加參數,方法-右鍵-屬性,裡面的 Parameters 
增加startRowIndex 和 endRowIndex,類型為 Int32
select * from
(
   select Id, Msg,PostDate,Row_Number()over(order by PostDate)rownum from T_Posts
)t
where t.rownum>[email protected] and t.rownum<[email protected]

3.HTML設定

<ul id="ulComment"></ul><table><tr id="trPage"></tr></table>

4.處理頁設定 WSXFY.ashx

public void ProcessRequest(HttpContext context)        {            context.Response.ContentType = "text/plain";            string action = context.Request["action"];   //取得客戶提交上來的 action 值            if (action == "getpagecount")         //此為查詢資料總條數            {                var adapter = new T_PostsTableAdapter();                int count = adapter.SelectCount().Value; //利用自訂SQL方法得到條數                int pagecount = count / 10;         //條數除以10,得到頁數(10條一頁)                if (count % 10 != 0)       //取條數的餘數,沒有被10整除的,都加1                {                    pagecount++;                }                context.Response.Write(pagecount);     //輸出頁數            }            else if(action == "getpagedata")         //此為查詢詳細資料            {                string pagenum = context.Request["pagenum"];    //得到當前頁號                int PageNum = Convert.ToInt32(pagenum);        //轉換成INT型                var adapter = new T_PostsTableAdapter();    //建立DataSet                var data = adapter.GetPageData((PageNum - 1) * 10 + 1,(PageNum) * 10);                              //使用自訂SQL方法,得到條數範圍                List<Comment> list = new List<Comment>(); //建立List類型為Comment                foreach (var row in data)          //遍曆每一條資料                {   list.Add(new Comment() { Msg = row.Msg, PostDate = row.PostDate.ToShortDateString() });                              //將每條資料都增加到List中                }                JavaScriptSerializer jss = new JavaScriptSerializer(); //建立 Json                context.Response.Write(jss.Serialize(list));       //將list轉換成Json類型            }        }        public class Comment              //建立一個類                    {            public string Msg { get; set; }            public string PostDate { get; set; }        }

5. Javascript設定

<script type="text/javascript">    $.post("WSXFY.ashx", { "action": "getpagecount" }, function(data, status) {        for (var i = 1; i <= data; i++) {            var td = $("<td><a href=‘‘>" + i + "</a></td>");  //迴圈輸出頁號            $("#trPage").append(td);                  //將每一個td都附加上去        }     $("#trPage td").click(function(e) {     e.preventDefault();            //阻止執行 href 的地址       $.post("WSXFY.ashx", { "action": "getpagedata", "pagenum": $(this).text() },       function(data, status) {          var comments = $.parseJSON(data);    //利用 parseJSON 轉換          $("#ulComment").empty();        //清空ul          for (var i = 0; i < comments.length; i++) {          var comment = comments[i];          var li = $("<li>" + comment.PostDate + ":" + comment.Msg + "</li>"); //產生資料          $("#ulComment").append(li);                }            });        });    });</script>

 

無重新整理分頁 Ajax,JQuery,Json

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.