一句话轻松搞定asp.net分页
程序员文章站
2023-11-21 11:47:28
rows 是客户端传过来的行数,page是页码,传参就需要就两个参数就行,sql语句中_row 和_page 自己声明的局部变量,值还是相应的row 和page ,为了运算...
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("\n", ""); } else { return null; } }
以上就是本文的全部内容,希望对大家的学习有所帮助。