一句話輕松搞定asp.net分頁(yè)
rows 是客戶端傳過來的行數(shù),page是頁(yè)碼,傳參就需要就兩個(gè)參數(shù)就行,sql語(yǔ)句中_row 和_page 自己聲明的局部變量,值還是相應(yīng)的row 和page ,為了運(yùn)算而已。
用數(shù)據(jù)庫(kù)類獲得它的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è),客戶端不會(huì)顯示總數(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;
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
- ASP.NET MVC分頁(yè)和排序功能實(shí)現(xiàn)
- ASP.NET MVC+EF在服務(wù)端分頁(yè)使用jqGrid以及jquery Datatables的注意事項(xiàng)
- ASP.NET MVC 2右鍵菜單和簡(jiǎn)單分頁(yè)實(shí)例講解
- asp.net分頁(yè)功能實(shí)現(xiàn)
- ASP.NET無(wú)刷新分頁(yè)簡(jiǎn)單實(shí)現(xiàn)
- ASP.NET 高性能分頁(yè)代碼
- Asp.net GridView使用大全(分頁(yè)實(shí)現(xiàn))
- Asp.Net中的三種分頁(yè)方式總結(jié)
- Asp.Net數(shù)據(jù)控件引用AspNetPager.dll分頁(yè)實(shí)現(xiàn)代碼
- MVC異步分頁(yè)代碼分享
相關(guān)文章
ASP.NET實(shí)現(xiàn)用戶注冊(cè)和驗(yàn)證功能(第4節(jié))
這篇文章主要介紹了ASP.NET實(shí)現(xiàn)用戶注冊(cè)和驗(yàn)證功能,學(xué)習(xí)ASP.NET驗(yàn)證控件的作用和使用方法,在此基礎(chǔ)上了解常用第三方控件,需要的朋友可以參考一下2015-08-08
asp.net 選擇excel類型文件,利用Dos命令成批復(fù)制文件
選擇excel類型文件,利用Dos命令成批復(fù)制文件2009-12-12
.NET?Core跨平臺(tái)資源監(jiān)控工具CZGL.SystemInfo用法
這篇文章介紹了.NET?Core跨平臺(tái)資源監(jiān)控工具CZGL.SystemInfo的用法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02
Visual Studio 2017如何用正則修改部分內(nèi)容詳解
這篇文章主要給大家介紹了關(guān)于Visual Studio 2017如何用正則修改部分內(nèi)容的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05
Windows虛擬主機(jī)與VPS如何實(shí)現(xiàn)301重定向(asp.net)
301重定向應(yīng)該是研究SEO必須掌握的技術(shù)。如果你是剛接觸SEO的菜鳥,想了解什么是301重定向,請(qǐng)看《html實(shí)現(xiàn)301重定向的方法》一文,我在該篇隨筆中引用了Google網(wǎng)站站長(zhǎng)工具對(duì)301重定向的解釋2011-12-12

