//前台aspx代码:
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "application/json"; //获取wolf文件夹的绝对路径 string path = context.Request.MapPath("Wolf"); //获取所有图片 string[] files = System.IO.Directory.GetFiles(path, "*.jpg", System.IO.SearchOption.AllDirectories); //获取发送过来的请求 页面索引 string pageIndex = context.Request.QueryString["pageIndex"]; //每页显示的图片个数 int size = 3; //默认 页面的显示索引 为 第一页 int index = 1; //对其 索引转换,若转换失败,则为默认 页面1 if (int.TryParse(pageIndex,out index)) { } //用来响应 存储 数据 Listfilepath = new List (); //1 3*1 1 2 3 //2 3*2 4 5 6 for (int i = 0; i < files.Length; i++) { //这里需要判断每次是发送不同的 3条数据 if (i < index * size&&i>=(index-1)*size) { filepath.Add(files[i]); } } //规律: 0,1,2, 3,4,5, 6,7,8, 9,10,11; // Index 1 i<(1*3) 0,1,2 // Index 2 i<(2*3) 3,4,5 // 思路: // 1>要想每次都显示3个,在之间还需要加上if过滤条件,因为i的值是"<"而产生不需要的值, // 那么需要在进行过滤的i一定是">"某个值; // 2>每次相差的数是size,那可能就是size乘以某个数;size又是不变的, // 所以size与某个数相乘 则决定了最终值;那个数起决定性作用,刚好乘以 (index-1)则刚好就是慢一拍的那个数。 //求出总共页面数,用来返值 ,对 请求超出页面索引 判断使用 int pageCount= files.Length / 3 + 1; //对泛型 进行序列化 json对象 JavaScriptSerializer ser = new JavaScriptSerializer(); string strfile = ser.Serialize(filepath); //替换 ] 存储 总页面数 strfile = strfile.Replace("]",","+ pageCount.ToString()+"]"); //响应 context.Response.Write(strfile); }