日期:2014-05-18  浏览次数:20449 次

关于静态页面的js+ajax分页很迷惑求解!
在最开始的时候我就是想实现一个分页的效果...不用无刷新的提交....
结果...问题出来了..
1.我不知道如何向后台提交值,如何把点击上一页或者下一页所得到的页数交给后台处理?
前台:
----------------------------------------------
 <script src="js/common.js" type="text/javascript"></script>
  <script type="text/javascript">
  var xhr;
  function gel(id) {
  return document.getElementById(id);
  }
  window.onload = function () {
  xhr = createXmlHttp;
  }
  function page(index) {
  xhr.open("POST", "一般处理文件", true);
  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  xhr.readystatechange = getpage;
  xhr.send("adi=" + index);
  }
  function getpage() {
  if (xhr.readyState == 4) {
  if (xhr.status == 200) {
  var res = xhr.responseText;
  var resarr = res.split(",");
  if (resarr[0] == "ok") { 
  //todo
  }
  }
  }
  }
  </script>
<body>
  <form id="form1" runat="server">
  <table cellpadding="0" cellspacing="0" class="gc" border="1px">
  <%=sb.ToString()%>
  </table>
  <div>
  <input type="button" value="上一页" id="btnPre" class="btn" />
  <input type="button" value="下一页" id="btnNext" class="btn" />  
  </div>
  </form>
</body>
后台:
----------------------------------------------
  public StringBuilder sb;
  int pagecount = 1;
  BooksManager Bm = new BooksManager();
  protected void Page_Load(object sender, EventArgs e)
  {
  sb = new StringBuilder();
  Bind(pagecount);
  if (IsPostBack)
  {
  int page = Convert.ToInt32(Request.QueryString["Default.aspx"]);
  Bind(page);
  }
  }

  private void Bind(int pagecount)
  {
  DataTable dt = Bm.GetData(pagecount);
  foreach (DataRow dr in dt.Rows)
  {
  sb = sb.Append("<tr><td>" + dr[0].ToString() + "</td>");
  sb = sb.Append("<td>" + dr[1].ToString() + "</td>");
  sb = sb.Append("<td>" + dr[2].ToString() + "</td></tr>");
  }
  }
}
--------------------------------------
实在想不出来了 后来就想出 想要用ajax去做..因为以前看到个ajax的例子我还记得些..是用一般处理程序做的...可是刚写了一般 我就郁闷了..我还是不知道怎么把值传给后台去处理

迷茫中 求解!

代码只写了一部分..因为想不到接下来怎么写 于是就停在这里了...


------解决方案--------------------
HTML code

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MySqlDAL.PaginatedList<MySqlDAL.Person>>" %>
<script type="text/javascript">
    function changePage(flag, pages, totalPages) {
        if (totalPages != 0) {
            var tmp =   "self"      == flag ?