Ajax分页 问题解决 立即结帖 高手帮忙

happy664618843 happy664618843 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在网上找到一个例子 改的
我想 不通过前台手动输入a href="javascript:getData(1)">2</a>
现在问题是怎样让页面一加载就输出页数如1,2,3,4 并且页面加载显示绑定数据 点击数字跳到相应的页面
高手怎么改啊 谢谢!
这是前台代码

<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>

MyAjaxPager.aspx后台代码

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);
//}

}

...全文
评论 30
收藏 已收藏
分享
返回顶部
happy664618843
.NET社区 62,272 成员 668,968 内容