我发过去了
[email protected]
[email protected]
解决方案 »
- 如何用vs2005以上版本 把一个文件夹(里面包含其他文件夹,.cs文件,.resx文件)生成一个大的DLL文件?
- 来自网页的信息:序列化的数据无效,疑难问题大家帮忙看看
- 求助,客户端调用webservice后,网站无法连接数据库问题
- 求一则表达式
- 过滤XML后绑定GridView问题
- Sys未定义
- string 类型如何转为 int 型
- 新作一系统需要用条形码输入,用asp.net作,需要与条形码输入器的硬件进行交流吗?条形码的硬件选用什么比较好?价格是多少?
- 我想用dategrid中的按钮列。。传递2个参数。。不知道如何绑定
- 请问如何调试asp.net?
- 请帮忙解答是一下这是什么加密类型
- 如何提高网页显示速度?
代码:其实主要是获取params:{start:0,limit:9}的时候出了问题,导致无法正常分页。
分页的时候,存在三种情况:(1)表总记录<limit,则读取表所有记录,转换并返回
(2)表总记录除以limit,余数为0,则按照正常读取
(3)(表总记录-start)>limit,正常读取,否则读取剩余记录
SqlHelper shp=new SqlHelper();
string sql="select * from admin";
if( Request.Form["start"]!= null && Request.Form["limit"]!= null )
{
int start = int.Parse( Request.Form["start"] ); //获取页面显示的起始数
int limit = int.Parse( Request.Form["limit"] ); //获取每页记录数
//int start = int.Parse("0"); //获取页面显示的起始数
//int limit = int.Parse("5"); //获取每页记录数 ds=new DataSet();
ds=shp.GetDS(sql); StringBuilder sb = new StringBuilder();
sb.Append("["); int pageCount = ds.Tables[0].Rows.Count; //共有页数
//第一种情况:总行数 <PageSaze
if(pageCount<limit)
{
//取出所有记录
for( int i=start ; i < start+pageCount ;i++ )
{
//string sShipRegion = ds.Tables[0].Rows[i].IsNull("ShipRegion")?"null" : ds.Tables[0].Rows[i]["ShipRegion"].ToString();
sb.Append("{id:'"+ds.Tables[0].Rows[i]["id"].ToString()+"',name:'"+ds.Tables[0].Rows[i]["name"].ToString()+"',sex:'"+ds.Tables[0].Rows[i]["sex"].ToString()+"'}");
if( i!= (start+pageCount-1) )
{
sb.Append(",");
}
} }
//第二种情况:总行数 >PageSaze,但是总行数%PageSaze!=0,即取余不为0
else
{
//用总记录-当前开始行号,判断是否能整除PageSaze(limit)
//整除,显示PageSaze(limit)条记录,否则显示剩下的所有记录
if((pageCount-start)%limit==0)
{
//取出所有记录
for( int i=start ; i < start+limit ;i++ )
{
//string sShipRegion = ds.Tables[0].Rows[i].IsNull("ShipRegion")?"null" : ds.Tables[0].Rows[i]["ShipRegion"].ToString();
sb.Append("{id:'"+ds.Tables[0].Rows[i]["id"].ToString()+"',name:'"+ds.Tables[0].Rows[i]["name"].ToString()+"',sex:'"+ds.Tables[0].Rows[i]["sex"].ToString()+"'}");
if( i!= (start+limit-1) )
{
sb.Append(",");
}
}
}
else
{ //剩余记录>PageSaze(limit)
if((pageCount-start)>limit)
{
//取出所有记录
for( int i=start ; i < start+limit ;i++ )
{
//string sShipRegion = ds.Tables[0].Rows[i].IsNull("ShipRegion")?"null" : ds.Tables[0].Rows[i]["ShipRegion"].ToString();
sb.Append("{id:'"+ds.Tables[0].Rows[i]["id"].ToString()+"',name:'"+ds.Tables[0].Rows[i]["name"].ToString()+"',sex:'"+ds.Tables[0].Rows[i]["sex"].ToString()+"'}");
if( i!= (start+limit-1) )
{
sb.Append(",");
}
}
}
else
{
//取出所有记录
for( int i=start ; i < pageCount ;i++ )
{
//string sShipRegion = ds.Tables[0].Rows[i].IsNull("ShipRegion")?"null" : ds.Tables[0].Rows[i]["ShipRegion"].ToString();
sb.Append("{id:'"+ds.Tables[0].Rows[i]["id"].ToString()+"',name:'"+ds.Tables[0].Rows[i]["name"].ToString()+"',sex:'"+ds.Tables[0].Rows[i]["sex"].ToString()+"'}");
if( i!= (start+pageCount-1) )
{
sb.Append(",");
}
}
}
}
}
sb.Append("]"); //字符串的拼接
string Temp = "{totalCount:"+pageCount+",root:" + sb.ToString() + "}";
Response.Write( Temp );
Response.End();