asp.net 使用ajax分页
来源:互联网 发布:hdmi 网络中控 编辑:程序博客网 时间:2024/05/23 02:01
查询出数据,使用sql分页。
public static List<Topic> GetTopicList(int page, int pagesize) { string sql = "select * from (select *,row_number() over (order by id) as r_num from Topic) as rum_table where r_num between (@page-1) * @pagesize+1 and @pagesize * @page"; List<Topic> list = new List<Topic>(); using (SqlConnection connection = (SqlConnection)DBHelper.GetDataBase()) { try { SqlCommand cmd = new SqlCommand(sql, connection); SqlParameter[] parameter = new SqlParameter[] { new SqlParameter("@page",page), new SqlParameter("@pagesize",pagesize) }; connection.Open(); cmd.Parameters.AddRange(parameter); SqlDataReader reader = cmd.ExecuteReader(); list = CycleErgodic(reader); connection.Close(); } catch (Exception ex) { ExceptionManage.WriteLogFile(ex.ToString()); throw new Exception("The system is buys,please try again later..."); } } return list; }经过BLL层 在 一般处理程序中 输出表格
if (context.Request.Form["getType"].ToString() == "1") { if (context.Request.Form["currentPage"] == null || context.Request.Form["pagesize"] == null) { context.Response.Write("parameter error"); return; } int currentPage = Convert.ToInt32(context.Request.Form["currentPage"]); int size = Convert.ToInt32(context.Request.Form["pagesize"]); List<Topic> list = TopicManager.GetTopicList(currentPage,size); StringBuilder strTable = new StringBuilder(); strTable.Append("<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"text-align: center; margin: auto\">"); strTable.Append("<tr>"); strTable.Append("<th>主题编号</th><th>标题</th><th>主题内容</th></tr>"); int num = 0; foreach (Topic topic in list) { num++; string content = topic.Content.Length > 8 ? topic.Content.Substring(0, 8) + "<a onclick=\"queryDetails(" + topic.Id + ")\" href=\"javascript:void(0)\" title='查看详情'>[查看详情]</a>" : topic.Content; string topicTitle = topic.TopicTitle.Length > 12 ? topic.TopicTitle.Substring(0, 12) + "..." : topic.TopicTitle; if (num % 2 == 0) { strTable.Append(String.Format("<tr onmouseover=\"$(this).css('background-color','#FFFFCC')\" onmouseout=\"$(this).css('background-color','#E5E5E5')\" style=\"background-color: #E5E5E5\"><td>{0}</td><td><a href=\"comment.aspx?id={1}\" title=\"{2}\">{3}</a></td><td>{4}</td></tr>", num, topic.Id, topic.TopicTitle, topicTitle, content)); } else { strTable.Append(String.Format("<tr onmouseover=\"$(this).css('background-color','#FFFFCC')\" onmouseout=\"$(this).css('background-color','#F5F5F5')\" style=\"background-color: #F5F5F5\"><td>{0}</td><td><a href=\"comment.aspx?id={1}\" title=\"{2}\">{3}</a></td><td>{4}</td></tr>", num, topic.Id, topic.TopicTitle, topicTitle, content)); } } strTable.Append("</table>"); strTable.Append("<table width=\"80%\"><tr><td align=\"right\"><a id=\"prev\" onclick=\"loadPrev()\" title=\"PageUp\" href=\"javascript:void(0)\">上一页</a> <a id=\"next\" onclick=\"loadNext()\" title=\"PageDown\" href=\"javascript:void(0)\">下一页</a> 第<span id=\"currentPage\"></span>页 共<span id=\"countPage\"></span>页</td></tr></table>"); int count = TopicManager.GetCount(); //将查询数来的总页数存入隐藏域 strTable.Append(String.Format("<input type=\"hidden\" id=\"count\" value={0} />", count)); context.Response.Write(strTable.ToString()); }
前台 jquery部分
var currentPage = 1; var pagesize = 20; var pageCount; //将当前页和页面大小提交给 一般处理程序 然后将返回的结果显示。 function loadData(currentPage, pagesize) { $.ajax({ url: "loadTable.ashx", data: { "getType": "1", "currentPage": currentPage, "pagesize": pagesize, "t": Math.random() }, type: "post", success: function (data) { $("div#topicTable").html(data); var count = $("#count").val(); //算出总页数 if (count % pagesize == 0) { pageCount = count / pagesize; } else { pageCount = parseInt((count / pagesize), 10) + 1; } $("#currentPage").html(currentPage); $("#countPage").html(pageCount); //当前页==1时,隐藏上一页按钮 if (currentPage == 1) { $("#prev").hide(); } //当前页 == 最大页 是,以藏下一页按钮 if (currentPage == pageCount) { $("#next").hide(); } } }); } //下一页 function loadNext() { currentPage = currentPage + 1; loadData(currentPage, pagesize); } //上一页 function loadPrev() { currentPage = currentPage - 1; loadData(currentPage, pagesize); } $(document).ready(function () { loadData(1,pagesize); }
<div id="topicTable"></div>
- asp.net 使用ajax分页
- asp.net ajax分页
- AJAX 分页 asp.net分页
- Asp.Net ajax jQuery 分页
- 使用Jquery Ajax对ASP.NET中GridView分页
- asp.net使用ajax
- ASP.NET使用AJAX
- asp.net使用ajax
- ASP.NET 使用Ajax
- ASP.NET 使用Ajax
- ASP.NET 使用Ajax
- ASP.NET 使用Ajax
- asp.net Mvc4 使用ajax结合分页插件实现无刷新分页
- asp.net Mvc4 使用ajax结合分页插件实现无刷新分页
- ajax+asp.net+sqlserver多方式分页
- ASP.NET+JQuery实现AJAX的分页
- asp.net+jQuery(jPaginate插件)+AJAX 分页
- Asp.Net+Jquery Ajax异步分页
- 数字签名和数字证书图解
- sort,linux,shell命令
- PNG图像文件结构解析
- 分页的核心思想
- UBuntu下载编译安装内核
- asp.net 使用ajax分页
- MFC画线,要多点一下鼠标,线才出现
- c++将临时对象赋值给引用和指针的不同
- Java 利用反射构造私有数据类型
- 把一个XML字符串转换为一个XML文档对象
- Java中的对象转型
- tellg()和tellp()
- java中的多线程
- java数据源的几种配置