因为要帮妹妹做公司网站,看了网站空间带.netFramework4.0的价格好贵,只好选3.5的
3.5的代码没4.0强大,好喜欢4.0的MVC!可惜啊!
以下的代码在3.5下运行通过。
1.首先到官方下载分页控件:http://plugins.jquery.com/project/pagination
jquery.pagination.js
2.EasyFunction.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EasyFunction.aspx.cs" Inherits="EasyFunction" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title></title> <link href="jqueryPager/pagination.css" rel="stylesheet" type="text/css" /> <%--<script src="jqueryPager/jquery-1.2.6.pack.js" type="text/javascript"></script>--%> <script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script> <script src="jqueryPager/jquery.pagination.js" type="text/javascript"></script> <script type="text/javascript"> var orderby=""; $().ready(function() { InitData(0); $("#pageTheme").change(function(){ $("#Pagination").attr('class',$(this).val()); }); }); function pageselectCallback(page_id, jq) { InitData(page_id); } function InitData(pageindx) { var tbody = ""; $.ajax({ type: "POST",//用POST方式传输 dataType:"json",//数据格式:JSON url:'Handler.ashx',//目标地址 data:"pageindx="+(pageindx+1)+"&orderby="+orderby, beforeSend:function(){$("#divload").show();$("#Pagination").hide();},//发送数据之前 complete:function(){$("#divload").hide();$("#Pagination").show()},//接收数据完毕 success:function(json) { // debugger $("#productTable tr:gt(0)").remove(); // var productData = json.Products; var productData = json ; $.each(productData, function(i, n) { // debugger var trs = ""; trs += "<tr><td>" + n.orderid + "</td><td>" + n.customerid + "</td><td>" + n.shipname + "</td><td>" + n.shipcity + "</td></tr>"; tbody += trs; }); $("#productTable").append(tbody); $("#productTable tr:gt(0):odd").attr("class", "odd"); $("#productTable tr:gt(0):even").attr("class", "enen"); $("#productTable tr:gt(0)").hover(function(){ $(this).addClass('mouseover'); },function(){ $(this).removeClass('mouseover'); }); }}); //分页控件 $("#Pagination").pagination(<%=pagecount %>, { callback: pageselectCallback, prev_text: '« Previous',//“前一页”分页按钮上显示的文字 next_text: 'Next »', //“下一页”分页按钮上显示的文字 items_per_page:20, //每页显示的条目数 num_display_entries:6, //连续分页主体部分显示的分页条目数 current_page:pageindx, //当前选中的页面 num_edge_entries:2 //link_to: 分页的链接 字符串,可选参数,默认是"#" //ellipse_text: 省略的页数用什么文字表示 可选字符串参数,默认是"…" //prev_show_always: 是否显示“前一页”分页按钮 布尔型,可选参数,默认为true,即显示“前一页”按钮 //next_show_always: 是否显示“下一页”分页按钮 布尔型,可选参数,默认为true,即显示“下一页”按钮 }); } //排序 function Sort(ordercolumn,ordertipid) { var ordertype="";//1:desc,0:asc var $orderimg = $("#"+ordertipid); if($orderimg.html()!="") { var imgsrc = $("img",$orderimg).attr("src"); if(imgsrc.indexOf("asc")>-1){ $(".ordertip").empty(); $orderimg.html(" <img src=\"images/sort_desc.gif\" align=\"absmiddle\">"); ordertype = 1; } else { $(".ordertip").empty(); $orderimg.html(" <img src=\"images/sort_asc.gif\" align=\"absmiddle\">"); ordertype = 0; } } else { $(".ordertip").empty(); $orderimg.html(" <img src=\"images/sort_desc.gif\" align=\"absmiddle\">"); ordertype = 1; } orderby = ordercolumn+"_"+ordertype; InitData(0); } </script> <style type="text/css"> table { width: 600px; background-color: #ffffff; } table th { height: 24px; background-color: #037E12; color: White; } .odd { background-color: #5FD66C; } .enen { background-color: #BCF5C4; } .mouseover { background-color: orange; } </style> </head> <body> <form id="form1" runat="server"> <div id="divload" style="top: 50%; right: 50%; position: absolute; padding: 0px; margin: 0px; z-index: 999"> <img src="images/spinner3-greenie.gif" /> </div> <div> <table cellpadding="5" cellspacing="1" width="620" id="productTable" align="center"> <tr> <th style="width: 100px"> <a style="cursor: pointer;" onclick="Sort('orderid','productid');return false;">orderid</a><span id="productid" class="ordertip"></span> </th> <th style="width: 200px"> <a style="cursor: pointer;" onclick="Sort('customerid','ProductName');return false;"> customerid</a><span id="ProductName" class="ordertip"></span> </th> <th style="width: 200px"> <a style="cursor: pointer;" onclick="Sort('shipname','UnitPrice');return false;">shipname</a><span id="UnitPrice" class="ordertip"></span> </th> <th style="width: 120px"> <a style="cursor: pointer;" onclick="Sort('shipcity','Discontinued');return false;"> shipcity</a><span id="Discontinued" class="ordertip"></span> </th> </tr> </table> </div> <div id="Pagination" class="digg"> </div> <div style="text-align: center;"> 分页样式: <select id="pageTheme"> <option value="digg">digg</option> <option value="meneame">meneame</option> <option value="flickr">flickr</option> <option value="sabrosus">sabrosus</option> <option value="scott">scott</option> <option value="black">black</option> <option value="black2">black2</option> <option value="black-red">black-red</option> <option value="grayr">grayr</option> <option value="yellow">yellow</option> <option value="jogger">jogger</option> <option value="starcraft2">starcraft2</option> <option value="tres">tres</option> <option value="megas512">megas512</option> <option value="technorati">technorati</option> <option value="youtube">youtube</option> <option value="msdn">msdn</option> <option value="badoo">badoo</option> <option value="manu">manu</option> <option value="viciao">viciao</option> <option value="green-black">green-black</option> <option value="yahoo2">yahoo2</option> </select> </div> </form> </body> </html>
3.EasyFunction.aspx.cs
protected string pagecount; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) pagecount = "10002"; //查询数据库取得记录总数 }
4.添加Handler.ashx
public void ProcessRequest(HttpContext context) { int pageSize = 20; //每页记录数 int pageIndex; //当前页 int.TryParse(context.Request["pageindx"], out pageIndex); #region SQL排序 string order = "orderid desc"; //SQL排序 string[] strarr = new string[1]; bool IsOrder = false; if (!string.IsNullOrEmpty(context.Request["orderby"])) { IsOrder = true; strarr = context.Request["orderby"].ToString().Split('_'); if (strarr[1] == "0") order = strarr[0] + " asc"; //正序 else order = strarr[0] + " desc";//倒序 } List<test> list = GetPageDate(pageIndex,pageSize,order); //根据当前页、每页大小、排序 到数据库中分页查询出此页数据 MSSQL分页查询的存储过程网上到处都有,oracle分页查询语句也很容易找到 object data = Newtonsoft.Json.JsonConvert.SerializeObject(list); //Newtonsoft.Json.dll网上也有的下,如果是Framework4.0就用自带的 context.Response.Write(data); }