欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 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文件實現分頁思路的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    国产麻豆精品在线| 天天看天天摸天天操| 欧美日韩午夜在线| 亚洲美女屁股眼交3| eeuss鲁一区二区三区| 九九精品视频免费| 国产精品网站在线观看| 国产a级毛片一区| 免费看一级黄色| 日本一区二区成人在线| 国产成人精品免费看| 午夜剧场免费在线观看| 国产精品入口麻豆九色| 国产成人激情av| 国产一区二区视频在线观看免费| 中文一区二区完整视频在线观看| 成人免费va视频| 日本精品裸体写真集在线观看| 亚洲欧美日韩中文播放| 免费黄色av网址| 欧美久久高跟鞋激| 日韩精品乱码av一区二区| 少妇光屁股影院| 久久青草国产手机看片福利盒子 | 欧美四级电影网| 亚洲一区影音先锋| 中文视频在线观看| 日韩精品在线看片z| 韩国一区二区视频| 中文字幕电影av| 亚洲综合在线五月| 欧美xxxxx精品| 精品国产一区二区亚洲人成毛片| 国产在线观看一区二区| 一级片一级片一级片| 中文字幕综合网| 第一页在线视频| 精品日韩一区二区三区免费视频| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲婷婷在线观看| 欧美成人精品二区三区99精品| 激情综合色播激情啊| 欧美日韩午夜视频| 亚洲精品免费在线| 国产 中文 字幕 日韩 在线| 久久精品一区二区三区不卡 | 亚洲精品在线免费观看视频| 国产曰批免费观看久久久| 国产va在线播放| 日韩国产欧美在线视频| x88av在线| 亚洲人吸女人奶水| 在线视频 日韩| 欧美国产精品中文字幕| 免费看91视频| 国产午夜精品在线观看| 日本黄色三级网站| 久久只精品国产| 91欧美激情一区二区三区成人| 欧美一区二区三区的| 福利电影一区二区| 日韩一区二区三区免费观看| 国产成人免费网站| 69久久99精品久久久久婷婷 | 亚洲色图丝袜美腿| aa一级黄色片| 综合自拍亚洲综合图不卡区| 国内精品久久99人妻无码| 一区在线播放视频| 魔女鞋交玉足榨精调教| 亚洲日本成人在线观看| 国产小视频自拍| 亚洲一级电影视频| 欧美激情视频二区| 亚洲成人免费观看| 精品人妻伦九区久久aaa片| 日韩在线一区二区| 色综合久久天天综合网| 免费成人在线网站| 欧美手机在线视频| 国产精品1区2区3区| 欧美一区二区三区在| zzijzzij亚洲日本少妇熟睡| 精品国产乱码久久久久久久久| 91色|porny| 国产精品久久久久一区| 亚洲成人网在线播放| 亚洲一区二区三区在线| 久艹在线观看视频| 久久精品久久精品| 91麻豆精品国产综合久久久久久| 99这里只有精品| 国产欧美精品区一区二区三区| www.com日本| 亚洲美女偷拍久久| 欧美日韩黄色网| 国产一区二区三区四区五区美女 | 欧美精品1区2区| av成人动漫在线观看| 国产欧美日本一区视频| 国产手机在线观看| 天天色 色综合| 欧美三级乱人伦电影| 成人激情图片网| 国产目拍亚洲精品99久久精品| 色噜噜日韩精品欧美一区二区| 亚洲成a人v欧美综合天堂下载| 在线观看一区不卡| av一区二区三区在线| 国产精品久久久久久久裸模| 亚洲一二三四视频| 久久99精品久久久久久动态图| 日韩一区二区三免费高清| 污网站免费观看| 亚洲国产精品一区二区尤物区| 色老汉一区二区三区| 成人免费看黄yyy456| 国产精品国产三级国产普通话99 | 日本高清成人免费播放| 成人久久久精品乱码一区二区三区| 久久久久综合网| 亚洲AV无码成人精品区明星换面| 奇米影视一区二区三区| 日韩欧美在线1卡| 在线精品一区二区三区| 日韩在线播放一区二区| 欧美一级理论片| 短视频在线观看| 美女久久久精品| 精品国内二区三区| 国内精品卡一卡二卡三| 精品在线一区二区三区| 久久久久久久一区| 一本色道久久88| 丰满白嫩尤物一区二区| 国产精品传媒视频| 色域天天综合网| 久草福利在线观看| 亚洲mv在线观看| 日韩欧美中文字幕制服| 日本少妇高潮喷水xxxxxxx| 精品亚洲国内自在自线福利| 久久九九全国免费| 久久爱一区二区| 99视频在线精品| 亚洲国产一区二区三区| 4438亚洲最大| 国产ts在线播放| 国产aⅴ综合色| 亚洲三级小视频| 欧美精品一二三| 性欧美丰满熟妇xxxx性仙踪林| 老色鬼精品视频在线观看播放| 久久久高清一区二区三区| 国产精品视频一区二区三 | 亚洲综合自拍网| 麻豆国产91在线播放| 国产无人区一区二区三区| 天天做夜夜爱爱爱| 91在线精品一区二区三区| 五月综合激情日本mⅴ| 久久综合久久综合亚洲| 麻豆天美蜜桃91| 91精品国产高清91久久久久久| 秋霞影院一区二区| 日本一区二区三区在线不卡| 欧美中文一区二区三区| 亚洲国产精品成人综合久久久| 韩国理伦片一区二区三区在线播放| 一区在线观看视频| 欧美一级在线视频| 制服丨自拍丨欧美丨动漫丨| 91麻豆免费观看| 九九**精品视频免费播放| 亚洲欧美偷拍另类a∨色屁股| 91精品麻豆日日躁夜夜躁| 欧美成人久久久免费播放| 91丨九色丨蝌蚪富婆spa| 免费看欧美女人艹b| 国产精品美女一区二区三区| 欧美久久久久久久久| 成人精品一二三区| 国产女主播在线播放| 国产在线一区二区综合免费视频| 亚洲人成亚洲人成在线观看图片 | 91精品国产一区二区三区蜜臀| 99久久99久久精品免费看小说.| 91在线精品秘密一区二区| 青青草国产精品97视觉盛宴| 中文字幕视频一区二区三区久| 91精品国产色综合久久不卡电影| 国产性生活大片| 好吊日免费视频| 91免费视频网| 国产一区二区三区美女| 午夜精品一区在线观看| 国产精品对白交换视频 | 日韩欧美国产午夜精品| 在线观看网站黄不卡| 美女100%露胸无遮挡|