AJAX实现分页无刷新
搜索页:

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="AJAX现实
分页无刷新.WebForm1" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

<HTML>

<HEAD>

<title>WebForm1</title>

<
Meta name="GENERATOR" Content="Microsoft Visual Stu
dio .NET 7.1">

<
Meta name="CODE_LANGUAGE" Content="C#">

<
Meta name="vs_defaultClientScript" content="JavaScript">

<
Meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">


<style type="text/css">table

{font-size=15px;}


span#tip

{background-color:#f00;color:#fff;padding=2px;margin-left:30px;
dispaly:inline;}

</style>

<script type="text/javascript">

//var content = document.getElementById("content");

function getPage(page)


{

var key = document.Form1.title.value;

tip.style.
display = "inline";

var xmlhttp;



try

{

xmlhttp = new ActiveXObject("Msxml2.xmlhttp");


}catch(e)

{


try

{

xmlhttp = new ActiveXObject("Microsoft.xmlhttp");


}catch(e)

{


try

{

xmlhttp = new XMLHttpRequest();

alert("no ActiveXObject");


}catch(e)

{}

}

}


xmlhttp.onreadystatechange = function()

{

if(xmlhttp.readyState ==4)


{

tip.style.
display= "none";

if(xmlhttp.status == 200)


{

//alert(xmlhttp.responseText) ;

content.innerHTML = xmlhttp.responseText;

}

else


{

alert(xmlhttp.status);

}

}

}

xmlhttp.open("get","show.aspx?page=" + page + "&key = " + key );

//alert("show.aspx?page=" + page + "&key = " + key);

xmlhttp.send(null);

}

</script>

</HEAD>

<body>

<form id="Form1" method="post" runat="server">

<FONT face="宋体">

<TABLE id="Table1" style="WIDTH: 496px; HEIGHT: 75px" cellSpacing="1" cellPadding="1" width="496"

border="0">

<TR>

<TD>

<P align="center">AJAX实现
分页无刷新</P>

</TD>

</TR>

<TR>

<TD style="HEIGHT: 12px">找查关键字:<INPUT type="text" id="title"><INPUT type="button" value="查找" onclick="getPage(1)"><span id="tip" style="
display:none">正在查找

</span>

</TD>

</TR>

<TR>

<TD><span id="content"></span></TD>

</TR>

</TABLE>

</FONT>

</form>

</body>

</HTML>
请求处理页

using Sy
stem;

using Sy
stem.Collections;

using Sy
stem.ComponentModel;

using Sy
stem.Data;

using Sy
stem.Drawing;

using Sy
stem.Web;

using Sy
stem.Web.SessionState;

using Sy
stem.Web.UI;

using Sy
stem.Web.UI.WebControls;

using Sy
stem.Web.UI.HtmlControls;

using Sy
stem.Data.
sqlClient;



namespace AJAX现实
分页无刷新



{


/**//// <summary>

/// show 的
摘要说明。

/// </summary>

public class show : Sy
stem.Web.UI.Page


{

private int pagesize = 5;

private void Page_Load(object sender, Sy
stem.EventArgs e)


{

int page =1;

try


{

page = Convert.ToInt32(Request.QueryString["page"]);

}


catch(Exception ee)

{}


string key = Request.QueryString["key"];

//string key = "p";

int pageCount = getPageCount(key);


Sy
stem.Text.StringBuilder sb = new Sy
stem.Text.StringBuilder();

sb.Append("select top " + pagesize.ToString() +"* from products where productName like '%" + key + "%'");

if(page>1)


{

//Response.Write("
dddd");

sb.Append("and productid not in (select top " + Convert.ToString(pagesize*(page-1)) + " productID from products where productName like '%" +

key + "%' order by productid)");

}

sb.Append(" order by productid ");

//Response.Write(key);

//邦定datagrid

DataGrid dg = new DataGrid();

dg.AutoGenerateColumns = false;

dg.AllowPaging = false;

HyperLinkColumn hlc ;

BoundColumn bc;


hlc = new HyperLinkColumn();

hlc.DataTextField = "productName";

hlc.D
atanavigateUrlField = "productID";

hlc.D
atanavigateUrlFormatString = "xxx.aspx?id={0}";

hlc.HeaderText = "产品名字";

hlc.ItemStyle.Width = Unit.Pixel(400);

hlc.Target = "_blank";

dg.Columns.Add(hlc);


bc = new BoundColumn();

bc.HeaderText = "产品ID";

bc.
datafield = "productID";

bc.ItemStyle.Width = Unit.Pixel(200);

dg.Columns.Add(bc);


dg.DataSource = getData(sb.ToString());

dg.DataBind();

Response.Write(getStringByControl(dg) + "<div id='pager'>" + this.GenPager(page , pagesize , pageCount)+ "</div>" );


}


private string GenPager(int page , int pagesize , int count)


{

Sy
stem.Text.StringBuilder sb = new Sy
stem.Text.StringBuilder();

int pageCount = (int)Math.Ceiling((double)count/pagesize);

int start = ((page-1)/10)*10+1;

for(int i = start;i<=pageCount && i<start+10;i++)


{


if(i == page)

{sb.Append("<span title='当前页'>[" + i.ToString() + "]</span>");}


else

{sb.Append("<a href='javascript:getPage(" + i.ToString() +")' title='第" + i.ToString() + "页'>[" + i.ToString() + "]</a>");}

}


if(start >1)


{

sb.Insert(0,"<a href='javascript:getPage(1)' title ='
首页'>||
首页</a>");

sb.Insert(0,"<a href='javascript:getPage(" + Convert.ToString(start -1) + " )' title='第" + Convert.ToString(start-1) + "页'><<</a>" );

}

if(start +10 <pageCount)


{

sb.Append("<a href='javascript:getPage(" + Convert.ToString(start + 10) + ")' title ='第" + Convert.ToString(start +10) + "页'>>></a>");

sb.Append("<a href='javascript:getPage(" + pageCount.ToString() + ")' title ='(末页)'>||末页</a>");

}


return sb.ToString();

}


private string getStringByControl(Sy
stem.Web.UI.Control c)


{

Sy
stem.Text.StringBuilder sb = new Sy
stem.Text.StringBuilder();

Sy
stem.IO.StringWriter write = new Sy
stem.IO.StringWriter(sb);

Sy
stem.Web.UI.HtmlTextWriter htw = new HtmlTextWriter(write);

c.RenderControl(htw);

return sb.ToString();

}


private DataTable getData(string
sqlText)


{
sqlDataAdapter da = new
sqlDataAdapter(
sqlText , "server=.;uid=sa;pwd=;database=
northwind;");

DataTable dt = new DataTable();

da.Fill(dt);

return dt;

}


private int getPageCount(string key)


{
sqlConnection conn = new
sqlConnection("server=.;uid=sa;pwd=;database=
northwind;");
sqlCommand cmd = new
sqlCommand("select count(*) from products where productName like '%" + key + "%'" , conn);

conn.
open();

return Convert.ToInt32(cmd.ExecuteScalar());

}




Web 窗体设计器
生成的
代码#region Web 窗体设计器
生成的
代码
override protected void OnInit(EventArgs e)


{

//

// CODEGEN: 该
调用是 ASP.NET Web 窗体设计器所必需的。

//

InitializeComponent();

base.OnInit(e);

}


/**//// <summary>

/// 设计器
支持所需的
方法 - 不要使用
代码编辑器
修改
/// 此
方法的
内容。

/// </summary>

private void InitializeComponent()


{

this.Load += new Sy
stem.EventHandler(this.Page_Load);


}

#endregion

}

}
终于实现了我的第
一个AJAX程序...........
转载于:https://www.cnblogs.com/zzj-46000452/archive/2006/08/14/zzj-46000452.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。