62,041
社区成员
发帖
与我相关
我的任务
分享
<script type="text/javascript">
var xmlHttp;
function getData(pIndex) {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
var url = "MyAjaxPager.aspx?index=" + escape(pIndex) + "&num=" + new Date().getDate();
alert(url);
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = ShowRepeaterData;
xmlHttp.send(null);
}
function ShowRepeaterData() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
var gridData = xmlHttp.responseText;
alert(gridData);
var grid = document.getElementById("grid");
grid.innerHTML =gridData;
}
}
</script>
<a href="javascript:getData(0)">1</a>
<a href="javascript:getData(1)">2</a>
<a href="javascript:getData(2)">3</a>
<a href="javascript:getData(3)">4</a>
<div id="grid">
<asp:Repeater ID="rptGrid" runat="server">
<HeaderTemplate>
<table>
<tr>
<th style="border:solid 1px red;">编号</th>
<th style="border:solid 1px red;">姓名</th>
<th style="border:solid 1px red;">性别</th>
<th style="border:solid 1px red;">生日</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td style="border:solid 1px red;"><%# Eval("EmployeeID") %></td>
<td style="border:solid 1px red;"><%# Eval("EmployName") %></td>
<td style="border:solid 1px red;"><%# Eval("Sex") %></td>
<td style="border:solid 1px red;"><%# Eval("Birthday") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
private void BindInfo(int index)
{
SqlConnection Conn = new SqlConnection(connstr);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "select * from EmployeeInfo";
cmd.Connection = Conn;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
ps = new PagedDataSource();
ps.AllowPaging = true;
ps.PageSize = 1;
ps.CurrentPageIndex = index;
ps.DataSource = ds.Tables[0].DefaultView;
rptGrid.DataSource = ps;
rptGrid.DataBind();
}
private string GetHtml(Control control)
{
StringBuilder sb = new StringBuilder();
StringWriter writer = new StringWriter(sb);
HtmlTextWriter writer2 = new HtmlTextWriter(writer);
control.RenderControl(writer2);
return sb.ToString();
}
protected void Page_Load(object sender, EventArgs e)
{
//BindInfo(0) 如果这样绑定数据当点击数字总是第一页 加page.ispostBack没用
int index = 0;
if (int.TryParse(Request.QueryString["index"], out index))
{
//获取到index再进行操作
BindInfo(index);
Response.Clear();
string html = this.GetHtml(rptGrid);
Response.Write(html);
Response.End();
注释部分 不行 非要点击数字再出现
//for (int i = 1; i <= ps.PageCount; i++)
//{
// LinkButton lb = new LinkButton();
// lb.ID = "lb" + i.ToString();
// lb.Text = i.ToString();
// lb.OnClientClick = "javascript:getData(" + i.ToString() + ")";
// Page.Controls.Add(lb);
//}
}
for (int i = 1; i <= ps.PageCount; i++)
{
LinkButton lb = new LinkButton();
lb.ID = "lb" + i.ToString();
lb.Text = i.ToString();
lb.OnClientClick = "javascript:getData(" + i.ToString() + ")";
Page.Controls.Add(lb);
}
Label l = new Label();
l.Text = "<script>getData(1);</script>";//加上这两句就行了
public static String GetPagerString(int curr, int pagesize, int count, int _class, string page)
{
decimal pagec = Math.Ceiling(Convert.ToDecimal(count) / pagesize);
string str = "<span> 共" + count + "条 共" + pagec + "页 </span>";
if (curr != 1) str += "<a href=\"/" + page + "/" + _class.ToString() + ".shtml\">首页</a> <a href=\"/" + page + "/" + _class.ToString() + "/" + (curr - 1) + ".shtml\">前页</a>";
for (int pageb = curr - 4; pageb <= curr + 4 && pageb <= pagec; pageb++)
{
if (pageb > 0)
{
if (pageb != curr)
{
str += " <a href=\"/" + page + "/" + _class.ToString() + "/" + pageb + ".shtml\">" + pageb.ToString() + "</a>";
}
else
{
str += " <font color=red>" + pageb + "</font>";
}
}
}
if (curr != pagec) str += " <a href=\"/" + page + "/" + _class.ToString() + "/" + (curr + 1) + ".shtml\">后页</a> <a href=\"/" + page + "/" + _class.ToString() + "/" + pagec + ".shtml\">末页</a>";
return str;
}
//创建分页
function createpage(recordcount, curr_index, pagesize) {
var indexs = Math.ceil(recordcount / pagesize); //页数
var pageDiv = ""; //容器
var indexSize = 10; //显示多少个按钮
var gotosize = 1;
var minindex = curr_index; //当前最小页码
pageDiv = "<span><span class='span_count_page'>" + curr_index + "/" + indexs + "</span> <span>"
if (curr_index > 1) {
pageDiv = pageDiv + createaEml(curr_index - 1, "< "); //上一页
gotosize = curr_index - indexSize - 1;
if (gotosize <= 0) {
gotosize = 1;
}
pageDiv = pageDiv + createaEml(gotosize, "<< ");
}
if (curr_index + indexSize > indexs) {
minindex = indexs - indexSize + 1 < 1 ? 1 : indexs - indexSize + 1;
}
//创建按钮
for (var i = minindex; i < minindex + indexSize && i <= indexs; i++) {
if (i == curr_index) {
var item = "<a class='current_pager_link' href='javascript:change_page(" + i + ")'>" + i + "</a>"
}
else {
var item = createaEml(i, i)
}
pageDiv = pageDiv + item;
}
if (indexs > indexSize && minindex + indexSize <= indexs) {
gotosize = curr_index + indexSize > indexs ? indexs : curr_index + indexSize;
pageDiv = pageDiv + createaEml(gotosize, ">> ");
}
if (indexs > 1 && curr_index < indexs) {
pageDiv = pageDiv + createaEml(curr_index + 1, "> ");
}
document.getElementById('pageInDiv').innerHTML = pageDiv;
}