ajax實現分頁無重新整理

來源:互聯網
上載者:User
今天閑著無事,在C#2.0下用Ajax寫了一個無重新整理快速分頁例子,時間倉促,不足之處請大家指出:首先把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=""#"" 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>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.