一句話輕松搞定asp.net分頁
rows 是客戶端傳過來的行數(shù),page是頁碼,傳參就需要就兩個參數(shù)就行,sql語句中_row 和_page 自己聲明的局部變量,值還是相應(yīng)的row 和page ,為了運算而已。
用數(shù)據(jù)庫類獲得它的DataTable,轉(zhuǎn)換為json格式通過一般處理程序傳到客戶端,客戶端顯示就ok了。這里我使用的是easyui datagrid進行接收和傳參。這是大體的思路。
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ù),不傳這個,客戶端不會顯示總數(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í)有所幫助。
相關(guān)文章
詳解MVC中為DropDownListFor設(shè)置選中項的方法
這篇文章主要介紹了詳解MVC中為DropDownListFor設(shè)置選中項的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
asp.net sqlconnection con.close和con.dispose區(qū)別
con.close是用來關(guān)閉和數(shù)據(jù)庫的連接,相對于open2008-12-12
ASP.NET 頁面間數(shù)據(jù)傳遞方法小結(jié)
Web 頁面是無狀態(tài)的, 服務(wù)器對每一次請求都認為來自不同用戶,因此,變量的狀態(tài)在連續(xù)對同一頁面的多次請求之間或在頁面跳轉(zhuǎn)時不會被保留。2009-12-12

