ajax实现分页无刷新 (已调试通过)

来源:互联网 发布:打印合格证软件 编辑:程序博客网 时间:2024/05/01 18:17
首先把AjaxPro.dll文件添加到引用中,可以到http://www.schwarz-interactive.de/下载 根据你的.net 版本来选择不同的DLL文件.
default.aspx.cs:
public partial class _Default : System.Web.UI.Page
{
    string connectString = "";//定义自已的连接串    
    protected void Page_Load(object sender, EventArgs e)
    {
        AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
    }
    [AjaxPro.AjaxMethod]
    public DataTable GetDataTable()
    {
        SqlDataAdapter ad = new SqlDataAdapter("select * from tableName", connectString);
        DataSet ds = new DataSet();
        ad.Fill(ds);
        int num = ds.Tables[0].Rows.Count;
        return ds.Tables[0];
    }
}

 

default.aspx:
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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 runat="server">
<title>Ajax无刷新分页</title>
<script language="javascript">
var dtObj=new Object();
function stringToInteger(inputString)
{
  if(inputString == null || inputString == "")
  {
     return 0;
  }
  else
  {
    try
    {
      return parseInt(inputString);
    }
    catch(e)
    {
      return 0;
    }
  }    
}
function numberToString(inputNumber)
{
  return inputNumber.toString();
}
function getUrlParam(param)
{
   var url=window.location.search.substring(1);
   var paramArray=url.split("&");
   for(var i=0;i<paramArray.length;i++)
   {
      var pramArraySub=paramArray[i].split("=");
   if(pramArraySub[0]==param && pramArraySub[1] != "undefined")
     return pramArraySub[1];  
   }
   return "";
}
var pageSize=5;
//var pageNo=stringToInteger(getUrlParam("pageno"));
</script>
</head>
<body>
    <form id="form1" runat="server">
    <div align=center><span id="sp_ShowContent"></span></div>       
    </form>
</body>
</html>
<script language=javascript>
var pageNo =0;
var dtObj = new Object();//对象实例化***************
dtObj=_Default.GetDataTable().value;// 从后台得到数据**********
var totalPage=0;
var totalRecord = dtObj.Rows.length;
if((dtObj.Rows.length%pageSize)==0)
  totalPage = dtObj.Rows.length/pageSize;
else  
  totalPage = Math.ceil(dtObj.Rows.length/pageSize);
 function showContent(op)
{
     if(op == "first")
  {
    pageNo = 0;
  }
  else if(op == "previous")
  {
    if(pageNo>0)
    pageNo-=1;
    else
    pageNo=0;
  }
  else if(op == "next")
  {
    if(pageNo<totalPage-1)
     pageNo+=1;
     else
     pageNo = totalPage-1;
  }
  else if(op == "last")
  {
    pageNo=totalPage-1;
  }
  else
  {
    pageNo=0;
  }
  var content = "";
  var startRecord = pageNo*pageSize;
  var endRecord = 0;
  if(pageNo>=totalPage-1)
   endRecord = totalRecord;
  else
     endRecord = (pageNo+1)*pageSize;
  content = '<table width="75%" border="1" cellspacing="0" bordercolordark="#FFFFFF" bordercolorlight="#339900">';
     content += '<tr>';
     content += '<td width="45%">编号</td>';
     content += '<td width="55%">用户名</td>';
     content += '</tr>';
     for(var i=startRecord;i<endRecord;i++)
     {
       content += '<tr>';
       content += '<td width="45%">'+dtObj.Rows[i]["ID"]+'</td>';//ID,UserName is Column Name
       content += '<td width="55%">'+dtObj.Rows[i]["UserName"]+'</td>';
       content += '</tr>';
     }
     content += '<tr align="center">';
     content += '<td colspan="2"><a href="#" _fcksavedurl=""#"" _fcksavedurl=""#"" _fcksavedurl=""#"" _fcksavedurl=""#"" _fcksavedurl=""#"" onClick="showContent(/'first/')">第一页</a>&nbsp;<a href="#" onClick="showContent(/'previous/')">上一页</a>&nbsp;<a href="#" onClick="showContent(/'next/')">下一页</a>&nbsp;<a href="#" onClick="showContent(/'last/')">最后页</a></td>';
     content += '</tr>';
     content += '</table>'; 
  window.document.getElementById("sp_ShowContent").innerHTML=content;
}
showContent("first");
</script>
 
原创粉丝点击