91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用AJAX怎么實現無刷新分頁功能

發布時間:2021-07-15 15:52:32 來源:億速云 閱讀:144 作者:Leah 欄目:web開發

使用AJAX怎么實現無刷新分頁功能,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。


  首先講一下原理:分頁有兩個要點:1.有多少頁,2.每頁有多少條記錄。總頁數和每頁數據都是要從服務器端返回的。所以我們就先來建一個一般處理程序:PageService.ashx,處理用戶的請求。取得頁數參數:GetPageCount,取得頁數據參數用GetPagedData,和PageNo。一下是一般處理程序PageService.ashx代碼:
PageService.ashx

復制代碼 代碼如下:


public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string action=context.Request["action"];
if (action == "GetPageCount") //如果請求類型為取得總頁數,則如下處理。
{
//該方法是建立在強連接DataSet內的,取得總記錄數的方法
int counts = new CommentTableAdapter().GetComentCount().Value;
int page = counts / 10; //默認每頁10條數據
if (counts%10 != 0)
{
page++;
}
context.Response.Write(page); //取得數據后返回給客戶端。
}
else if (action == "GetPageData") //請求類型是取得某頁的數據,則還會傳一個頁碼過來
{
int pageNo = Convert.ToInt32(context.Request["PageNo"]);
//該方法是給出頁數,去數據庫表內取得對應頁的數據
var data = new CommentTableAdapter().GetPageData((pageNo-1)*10+1,pageNo*10);
var p1 = data.Select( c =>new {c.name,c.Comment });
JavaScriptSerializer jss = new JavaScriptSerializer();
//將取得數據用json序列化后傳回客戶端
context.Response.Write(jss.Serialize(p1));
}
}


接下來是在htm頁面呈現數據。
  我在這里只是講原理,所以美工方面就不苛求了。假設每頁數據都是放在一個<ul><li></li></ul>里面,一個li就裝一條數據。頁碼放在一個table內顯示,一行n列的table,每一列就一個頁面。
<body>
<ul id="Comment"></ul><br />
頁數:
<table id="pageNo"></table>
</body>
接下來就是用JQuery,在頁面加載的時候給Comment這個ul和pageNo這個table初始化數據。頁面加載默認顯示第一頁數據。以下是:無刷新分頁.htm頁面的JQuery代碼:
無刷新分頁.htm

復制代碼 代碼如下:


<script type="text/javascript">
$(function(){
//-----------------------------------------------------------
function getPageData(pageNo){ //取得某頁數據的方法
$.post("PageService.ashx",{"action":"GetPageData","PageNo":pageNo},function(data,status){
if(status=="success"){
$("#Comment").empty();
var comments=$.parseJSON(data); //反序列化json數據。
for(var i=0;i<comments.length;i++){
var row=comments[i];
var li= $("<li>"+row.name+" : "+row.Comment+"</li>");
$("#Comment").append(li); //每取出一條數據就創建一個li并append到Comment/ul內。
}
}
});
}
//-------------------------------------------------------------------
getPageData(1); //首次進入頁面,看到的是第一頁的數據
//----------------------------------------------------------------/
//取得所有的頁數并且初始化分頁按鈕
$.post("PageService.ashx",{"action":"GetPageCount"},function(data,status){
if(status=="success"){
var tr1=$("<tr></tr>");
var pageNo=parseInt(data);
for(var i=1;i<=pageNo;i++){
var td=$("<td><a href=''>"+i+"</a></td>");
tr1.append(td);
}
$("#pageNo").append(tr1);
$("#pageNo a").click(function(e){ //頁碼創建后,就為每一個頁碼監聽一個click事件。
e.preventDefault(); //取消a的默認跳轉行為
getPageData($(this).html()); //點擊后就去執行取頁數據的操作。
});
}
});
//----------------------------------------------------------------------------
});
</script>

看完上述內容,你們掌握使用AJAX怎么實現無刷新分頁功能的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

怀远县| 永胜县| 长汀县| 吉林省| 蒙自县| 彭阳县| 女性| 土默特左旗| 宿松县| 五莲县| 武强县| 东丰县| 冕宁县| 尉氏县| 班玛县| 平和县| 尼木县| 吴江市| 灵寿县| 阳信县| 楚雄市| 天祝| 清苑县| 长沙市| 台东县| 肥城市| 宜章县| 永川市| 青龙| 镇原县| 景宁| 务川| 墨脱县| 兴义市| 怀化市| 安庆市| 高碑店市| 阳泉市| 多伦县| 城市| 东乡族自治县|