Ajax分页 问题解决 立即结帖 高手帮忙
在网上找到一个例子 改的
我想 不通过前台手动输入a href="javascript:getData(1)">2</a>
现在问题是怎样让页面一加载就输出页数如1,2,3,4 并且页面加载显示绑定数据 点击数字跳到相应的页面
高手怎么改啊 谢谢!
这是前台代码
MyAjaxPager.aspx后台代码
我想 不通过前台手动输入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);
//}
}
...全文


