asp.net 一句话搞定分页

rows 是客户端传过来的行数,page是页码,传参就需要就两个参数就行,sql语句中_row 和_page 自己声明的局部变量,值还是相应的row 和page ,为了运算而已。

用数据库类获得它的DataTable,转换为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 转换成json,这里带了“total”,传给客户端的数据总数,不传这个,客户端不会显示总数据是多少条多少条的。
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(" ", ""); } else { return null; } }
原文地址:https://www.cnblogs.com/hyyweb/p/5720157.html