校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Asp.net+jquery+.ashx文件實現分頁思路

Asp.net+jquery+.ashx文件實現分頁思路

熱門標簽:百度地圖標注點擊事件 杭州智能電話機器人 山東防封電銷卡辦理套餐 內蒙古智能電銷機器人哪家強 怎樣在地圖標注消火栓圖形 濟源人工智能電話機器人價格 地圖標注位置多的錢 泰州手機外呼系統軟件 廈門四川外呼系統
今天看到一個.java哥們寫過的在頁面直接請求數據列表的程序代碼。它是實現選中客戶聯系人后,無刷新的彈出div羅列其它聯系人列表的功能。忽然想到既然可以請求聯系人列表,而且無刷新。那么取復雜的數據列表呢,后來想到了數據分頁。我現在用了自己寫的一個分頁控件。但是效率有時候感覺不是很高,它是以 用戶控件+存儲過程+分頁處理類 來實現分頁的。但是無可避免的就碰到了刷新的問題即使分頁很快,但是只要這“刷”的一下總是感覺很不爽。而且還要頁面編譯一遍,還要在服務端處理ViewState。以及其它的性能損失。既然 .ashx 可以 省略頁面編譯的過程。再把分頁處理類 挪到客戶端,那應該是會性能提升不少,還沒有刷新,一定很爽,想到就做。

我定的思路是: .ashx程序中,編寫好取得不同頁碼的程序。在頁面布局好的前提下,留下數據區域 div。然后在頁面請求 .ashx程序生成下一頁的html代碼。覆蓋div.innerHTMl 。
首先是頁面,因為是要實踐思路,所以頁面真是很簡單。引用了jquery.js
復制代碼 代碼如下:

div id="lab">
input id="Button1" type="button" value="初始化數據" onclick="Init();" />
div id="Content" style="width: 100%">
/div>
div id="PagePanel" style="margin-left:20px">label id="pageInfo">/label>a href="#" onclick="InitUp()">Last/a>nbsp; nbsp;a href="#" onclick="InitNext()">Next/a>/div>
input type="hidden" value="0" id="currPageIndex" />
/div>

然后編寫.js文件、實現客戶端的分頁控制。已經在顯示頁面儲存了當前頁碼信息 一個input type='hidden'>。
引用js文件后,就可以用了,哈哈,很順利。
復制代碼 代碼如下:

// JScript 文件
function Init()
{
$.get("Handler.ashx", function (tablestr) {
document.getElementById('Content').innerHTML=tablestr;
document.getElementById('currPageIndex').value='1';
});
}
function InitNext()
{
var currIndex=document.getElementById('currPageIndex').value;
var nextIndex=Number(currIndex)+1;
$.get("NextHandler.ashx",{index:currIndex},function (tablestr) {
document.getElementById('Content').innerHTML=tablestr;
document.getElementById('pageInfo').innerText="當前第 "+nextIndex+" 頁";
document.getElementById('currPageIndex').value=nextIndex;
});
}
function InitUp()
{
var currIndex=document.getElementById('currPageIndex').value;
var nextIndex=Number(currIndex)-1;
$.get("PreviousHandler.ashx",{index:currIndex},function (tablestr) {
document.getElementById('Content').innerHTML=tablestr;
document.getElementById('pageInfo').innerText="當前第 "+nextIndex+" 頁";
document.getElementById('currPageIndex').value=nextIndex;
});
}

將它引用到顯示頁面
復制代碼 代碼如下:

script type="text/javascript" src="http://www.cnblogs.com/Media/Script/jquery.js">/script>
script src="JScript.js" type="text/javascript">/script>

搞定!
剩下的就是服務端了,這個就簡單了,咱就是c#代碼出身,直接呼啦呼啦.....
1、第一頁初始化的數據。....
復制代碼 代碼如下:

%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
using System.Data;
using System.Text;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
DataSet ds = HebHX.DBUtility.DbHelperSQL.Query("select top 20 cust_code,cust_name,cust_addr,bank_name,bank_account from customer_info");
StringBuilder tb = new StringBuilder("table class='dateGrid'>tr>th style='width:130px'>稅號/th>th style='width:150px'>企業名稱/th>th style='width:200px'>企業地址/th>th style='width:150px'>銀行/th>th style='width:150px'>銀行賬號/th>tr>");
for (int i = 0; i ds.Tables[0].Rows.Count; i++)
{
tb.Append("tr>");
for (int j = 0; j ds.Tables[0].Columns.Count; j++)
{
tb.Append("td class='Item'>");
tb.Append(ds.Tables[0].Rows[i][j].ToString());
tb.Append("/td>");
}
tb.Append("/tr>");
}
tb.Append("/table>");
context.Response.Write(tb.ToString());
}
public bool IsReusable {
get {
return false;
}
}
}

2、點擊下一頁用到的 .ashx文件。
復制代碼 代碼如下:

%@ WebHandler Language="C#" Class="NextHandler" %>
using System;
using System.Web;
using System.Data;
using System.Text;
public class NextHandler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
int pageRows = 20;
int pageIndex = Convert.ToInt32(context.Request.Params["index"]) + 1;
DataSet ds = HebHX.DBUtility.DbHelperSQL.Query("select top " + pageRows.ToString() + " cust_code,cust_name,cust_addr,bank_name,bank_account from customer_info where cust_id> (select max(t.cust_id) from (select top " + (pageRows * pageIndex).ToString() + " cust_id from customer_info order by cust_id) t) order by cust_id");
StringBuilder tb = new StringBuilder("table class='dateGrid'>tr>th style='width:130px'>稅號/th>th style='width:150px'>企業名稱/th>th style='width:200px'>企業地址/th>th style='width:150px'>銀行/th>th style='width:150px'>銀行賬號/th>tr>");
for (int i = 0; i ds.Tables[0].Rows.Count; i++)
{
tb.Append("tr>");
for (int j = 0; j ds.Tables[0].Columns.Count; j++)
{
tb.Append("td class='Item'>");
tb.Append(ds.Tables[0].Rows[i][j].ToString());
tb.Append("/td>");
}
tb.Append("/tr>");
}
tb.Append("/table>");
context.Response.Write(tb.ToString());
}
public bool IsReusable {
get {
return false;
}
}
}

3、點擊前一頁用到的.ashx文件。有思路了這個就更簡單了,直接就是copy了。
復制代碼 代碼如下:

%@ WebHandler Language="C#" Class="UpHandler" %>
using System;
using System.Web;
using System.Data;
using System.Text;
public class UpHandler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
int pageRows = 20;
int pageIndex = Convert.ToInt32(context.Request.Params["index"]) - 1;
DataSet ds = HebHX.DBUtility.DbHelperSQL.Query("select top " + pageRows.ToString() + " cust_code,cust_name,cust_addr,bank_name,bank_account from customer_info where cust_id> (select max(t.cust_id) from (select top " + (pageRows * pageIndex).ToString() + " cust_id from customer_info order by cust_id) t) order by cust_id");
StringBuilder tb = new StringBuilder("table class='dateGrid'>tr>th style='width:130px'>稅號/th>th style='width:150px'>企業名稱/th>th style='width:200px'>企業地址/th>th style='width:150px'>銀行/th>th style='width:150px'>銀行賬號/th>tr>");
for (int i = 0; i ds.Tables[0].Rows.Count; i++)
{
tb.Append("tr>");
for (int j = 0; j ds.Tables[0].Columns.Count; j++)
{
tb.Append("td class='Item'>");
tb.Append(ds.Tables[0].Rows[i][j].ToString());
tb.Append("/td>");
}
tb.Append("/tr>");
}
tb.Append("/table>");
context.Response.Write(tb.ToString());
}
public bool IsReusable {
get {
return false;
}
}
}

完成!直接測試..效果果然很不錯,要知道我們的數據庫的數據量大概在10萬級別以上。..基本上感覺不到什么延時。還無刷新真是爽 啊,我要是用分頁的存儲過程,應該還是會有所提升的。
效果如圖、、順便畫了一幅抽象畫。哈哈...順便也欣賞一下吧。

最后還是有點疑惑,.net的ajax 的用法是不是也是這樣呢?..以前用ajax就是用一些服務端控件,沒有真正實踐過客戶端的用法。但是我一直覺得ajax應該和現在我實現的方式大同小異。以后再學習吧..對ajax精通的哥們們可以指教一下,客戶端的ajax的 經典、實用的知識。先謝謝了。
您可能感興趣的文章:
  • asp.net中利用Jquery+Ajax+Json實現無刷新分頁的實例代碼
  • JQuery+Ajax無刷新分頁的實例代碼
  • JQuery頁面的表格數據的增加與分頁的實現
  • jQuery客戶端分頁實例代碼
  • jquery+json實現數據列表分頁示例代碼
  • jQuery 無刷新分頁實例代碼
  • jQuery教程 $()包裝函數來實現數組元素分頁效果
  • 使用PHP+JQuery+Ajax分頁的實現
  • jquery分頁插件AmSetPager(自寫)
  • jQuery getJSON()+.ashx 實現分頁(改進版)
  • jQuery Pagination Ajax分頁插件(分頁切換時無刷新與延遲)中文翻譯版
  • asp.net jquery無刷新分頁插件(jquery.pagination.js)
  • 分享精心挑選的12款優秀jQuery Ajax分頁插件和教程
  • jquery.pagination.js 無刷新分頁實現步驟分享
  • jquery.pagination +JSON 動態無刷新分頁實現代碼
  • 基于jquery封裝的一個js分頁
  • jQuery中jqGrid分頁實現代碼
  • jquery分頁對象使用示例

標簽:臺州 周口 朝陽 朔州 新鄉 洛陽 喀什 百色

巨人網絡通訊聲明:本文標題《Asp.net+jquery+.ashx文件實現分頁思路》,本文關鍵詞  Asp.net+jquery+.ashx,文件,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Asp.net+jquery+.ashx文件實現分頁思路》相關的同類信息!
  • 本頁收集關于Asp.net+jquery+.ashx文件實現分頁思路的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    一区在线观看免费| 国模大尺度一区二区三区| 91女神在线视频| 免费看日韩精品| 成人免费在线播放视频| 欧美性猛交xxxx乱大交退制版 | 亚洲综合免费观看高清完整版在线| 日韩精品中文字幕在线不卡尤物| 欧美三级在线看| 成人免费av网站| 国产二区国产一区在线观看| 黄页网站大全一区二区| 韩国成人在线视频| 麻豆精品精品国产自在97香蕉| 日韩高清一区在线| 免费的国产精品| 日本伊人色综合网| 日韩高清不卡一区| 日韩 欧美一区二区三区| 午夜在线成人av| 五月天激情综合| 麻豆精品一区二区| 黄色资源网久久资源365| 蜜桃精品视频在线观看| 麻豆成人久久精品二区三区红| 亚洲1区2区3区视频| 欧美日韩国产影片| 99久久国产综合精品女不卡| 成年人网站91| 91久久香蕉国产日韩欧美9色| 91福利国产成人精品照片| 在线欧美小视频| 欧美日韩综合色| 日韩精品一区二区三区三区免费| 久久婷婷久久一区二区三区| 国产三级精品在线| 亚洲激情在线播放| 午夜电影网亚洲视频| 蜜乳av一区二区三区| 男女男精品视频| 久久91精品国产91久久小草| 国产成人在线色| 91在线观看污| 欧美日韩亚洲综合一区| 精品国产污污免费网站入口| 国产精品国产三级国产普通话99 | 国产在线看一区| 久久精品国产99国产精品| 久久精品国产一区二区三| 国产真实精品久久二三区| 国产一区二区按摩在线观看| 成人高清伦理免费影院在线观看| 99麻豆久久久国产精品免费| 欧美一二三在线| 久久久久99精品国产片| 亚洲视频在线一区二区| 日韩激情中文字幕| 成人黄色国产精品网站大全在线免费观看| 色婷婷综合视频在线观看| 欧美一区二区三区在线电影| 国产精品视频九色porn| 亚洲成a人v欧美综合天堂下载 | 夜夜精品浪潮av一区二区三区| 久久66热偷产精品| 欧美日韩卡一卡二| 中文字幕一区二区三区不卡在线| 亚洲一区二区综合| 在线成人免费视频| 欧美一级二级在线观看| 伊人婷婷欧美激情| 久久精品一二三| 欧美成人女星排名| 综合电影一区二区三区 | 欧美无乱码久久久免费午夜一区 | 亚洲国产日韩综合久久精品| 国产成人啪午夜精品网站男同| 欧美日韩一区二区三区高清| 最新国产の精品合集bt伙计| 免费高清成人在线| 日本高清免费不卡视频| 日韩欧美一级片| 亚洲成人自拍一区| 色综合久久久久| 国产日韩欧美精品电影三级在线| 亚洲夂夂婷婷色拍ww47| 99r国产精品| 国产精品久久一级| 韩国精品在线观看| 欧美精品日韩综合在线| 91在线无精精品入口| 亚洲欧美成aⅴ人在线观看| 色偷偷久久人人79超碰人人澡| 亚洲精品乱码久久久久久日本蜜臀| 波多野结衣中文字幕一区 | 国产午夜精品美女毛片视频| 久久91精品国产91久久小草| 2023国产精品| 一本久道久久综合中文字幕| 亚洲欧美日韩国产中文在线| av不卡在线播放| 国产精品久久影院| www.在线成人| 亚洲欧美偷拍三级| 色婷婷综合五月| 亚洲图片欧美色图| 欧美日韩高清影院| 日产国产欧美视频一区精品| 日韩一卡二卡三卡四卡| 欧美色老头old∨ideo| 亚洲一区在线视频| 欧美精品久久一区二区三区| 男人的j进女人的j一区| 91麻豆精品国产91久久久久久久久| 视频一区欧美精品| 精品入口麻豆88视频| 国产精品一区二区在线观看网站| 亚洲国产精品国自产拍av| 成人高清在线视频| 亚洲精品日产精品乱码不卡| 欧美三级电影精品| 久久99精品久久久久婷婷| 久久伊99综合婷婷久久伊| 成人性生交大片免费看在线播放| 最新国产の精品合集bt伙计| 欧美性大战久久久| 首页亚洲欧美制服丝腿| 日韩欧美国产一区在线观看| 激情小说欧美图片| 国产精品久久久久久久裸模 | 在线观看91精品国产麻豆| 奇米精品一区二区三区四区| 精品不卡在线视频| 国产精品一区二区免费不卡 | 亚洲欧洲美洲综合色网| 在线视频中文字幕一区二区| 亚洲444eee在线观看| 精品久久久网站| 粉嫩aⅴ一区二区三区四区五区| 一区二区三区四区不卡在线 | 亚洲欧洲另类国产综合| 亚洲色图欧美激情| 丰满放荡岳乱妇91ww| 国产黄人亚洲片| 成人黄色一级视频| 99riav久久精品riav| av一区二区三区黑人| www.av亚洲| 欧美私模裸体表演在线观看| 91国模大尺度私拍在线视频| 色94色欧美sute亚洲线路二 | 日韩激情视频在线观看| 亚洲欧洲精品天堂一级| 国产日韩欧美高清| 亚洲柠檬福利资源导航| 一区二区三区中文字幕精品精品| 亚洲国产精品久久不卡毛片| 欧美色视频在线| 99久久er热在这里只有精品66| 亚洲美女屁股眼交| 精品日韩一区二区| 国模娜娜一区二区三区| 日韩一二三四区| 亚洲精品高清视频在线观看| 亚洲妇女屁股眼交7| 一本一道波多野结衣一区二区 | 欧美激情一区在线观看| 亚洲国产美女搞黄色| 精品系列免费在线观看| 91蜜桃免费观看视频| 欧美一级欧美三级| 亚洲精品一区二区三区在线观看| 国产精品免费久久久久| 亚洲第一福利一区| 99精品视频中文字幕| 欧美成人一区二区三区在线观看| 亚洲成人综合在线| 欧美日韩一区二区三区在线 | 精品国产伦一区二区三区观看体验| 亚洲成精国产精品女| 欧美日韩电影一区| 夜夜亚洲天天久久| 欧美性大战久久久久久久蜜臀| 国产欧美日韩精品a在线观看| 午夜在线电影亚洲一区| 欧美日韩中字一区| 亚洲精品久久嫩草网站秘色| 国产成人免费视频精品含羞草妖精| 欧美日韩精品一区二区三区蜜桃| 中文乱码免费一区二区| 成人午夜免费电影| 亚洲精品国产a| 91亚洲精品一区二区乱码| 国产精品精品国产色婷婷| 国内精品在线播放| 亚洲精品一区二区三区香蕉| 日韩经典一区二区| 在线观看一区日韩| 中文字幕第一页久久| 精品一区二区三区免费| 欧美日韩国产三级|