一句話輕松搞定asp.net分頁
rows 是客戶端傳過來的行數(shù),page是頁碼,傳參就需要就兩個(gè)參數(shù)就行,sql語句中_row 和_page 自己聲明的局部變量,值還是相應(yīng)的row 和page ,為了運(yùn)算而已。
用數(shù)據(jù)庫類獲得它的DataTable,轉(zhuǎn)換為json格式通過一般處理程序傳到客戶端,客戶端顯示就ok了。這里我使用的是easyui datagrid進(jìn)行接收和傳參。這是大體的思路。
string sql = "select top " + rows + " * from TestData where testID not in(select top " + (_rows * (_page - 1)) + " testID from TestData order by testID desc) order by testID desc";
//DataTable 轉(zhuǎn)換成json,這里帶了“total”,傳給客戶端的數(shù)據(jù)總數(shù),不傳這個(gè),客戶端不會顯示總數(shù)據(jù)是多少條多少條的。 public static string CreateJsonParameters(DataTable dt, bool displayCount, int totalcount) { StringBuilder JsonString = new StringBuilder(); //Exception Handling if (dt != null) { JsonString.Append("{ "); if (displayCount) { JsonString.Append("\"total\":"); JsonString.Append(totalcount); JsonString.Append(","); } JsonString.Append("\"rows\":[ "); for (int i = 0; i < dt.Rows.Count; i++) { JsonString.Append("{ "); for (int j = 0; j < dt.Columns.Count; j++) { if (j < dt.Columns.Count - 1) { //if (dt.Rows[i][j] == DBNull.Value) continue; if (dt.Columns[j].DataType == typeof(bool)) { JsonString.Append("\"" + dt.Columns[j].ColumnName + "\":" + dt.Rows[i][j].ToString().ToLower() + ","); } else if (dt.Columns[j].DataType == typeof(string)) { JsonString.Append("\"" + dt.Columns[j].ColumnName + "\":" + "\"" + dt.Rows[i][j].ToString().Replace("\"", "\\\"") + "\","); } else { JsonString.Append("\"" + dt.Columns[j].ColumnName + "\":" + "\"" + dt.Rows[i][j] + "\","); } } else if (j == dt.Columns.Count - 1) { //if (dt.Rows[i][j] == DBNull.Value) continue; if (dt.Columns[j].DataType == typeof(bool)) { JsonString.Append("\"" + dt.Columns[j].ColumnName + "\":" + dt.Rows[i][j].ToString()); } else if (dt.Columns[j].DataType == typeof(string)) { JsonString.Append("\"" + dt.Columns[j].ColumnName + "\":" + "\"" + dt.Rows[i][j].ToString().Replace("\"", "\\\"") + "\""); } else { JsonString.Append("\"" + dt.Columns[j].ColumnName+ "\":" + "\"" + dt.Rows[i][j] + "\""); } } } /*end Of String*/ if (i == dt.Rows.Count - 1) { JsonString.Append("} "); } else { JsonString.Append("}, "); } } JsonString.Append("]"); JsonString.Append("}"); return JsonString.ToString().Replace("\n", ""); } else { return null; } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
- ASP.NET MVC分頁和排序功能實(shí)現(xiàn)
- ASP.NET MVC+EF在服務(wù)端分頁使用jqGrid以及jquery Datatables的注意事項(xiàng)
- ASP.NET MVC 2右鍵菜單和簡單分頁實(shí)例講解
- asp.net分頁功能實(shí)現(xiàn)
- ASP.NET無刷新分頁簡單實(shí)現(xiàn)
- ASP.NET 高性能分頁代碼
- Asp.net GridView使用大全(分頁實(shí)現(xiàn))
- Asp.Net中的三種分頁方式總結(jié)
- Asp.Net數(shù)據(jù)控件引用AspNetPager.dll分頁實(shí)現(xiàn)代碼
- MVC異步分頁代碼分享
相關(guān)文章
asp.net生成字母和數(shù)字混合圖形驗(yàn)證碼
這篇文章主要為大家詳細(xì)介紹了asp.net生成字母和數(shù)字混合圖形驗(yàn)證碼的實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02C# WindowsMediaPlayer 的一些用法實(shí)例
這篇文章介紹了C# WindowsMediaPlayer 的一些用法實(shí)例,有需要的朋友可以參考一下2013-09-09詳解MVC中為DropDownListFor設(shè)置選中項(xiàng)的方法
這篇文章主要介紹了詳解MVC中為DropDownListFor設(shè)置選中項(xiàng)的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12asp.net sqlconnection con.close和con.dispose區(qū)別
con.close是用來關(guān)閉和數(shù)據(jù)庫的連接,相對于open2008-12-12ASP.NET 頁面間數(shù)據(jù)傳遞方法小結(jié)
Web 頁面是無狀態(tài)的, 服務(wù)器對每一次請求都認(rèn)為來自不同用戶,因此,變量的狀態(tài)在連續(xù)對同一頁面的多次請求之間或在頁面跳轉(zhuǎn)時(shí)不會被保留。2009-12-12