当前位置:编程学习 > C#/ASP.NET >>

aspnetpager的最基本的应用:gridview+sqldatasource+aspnetpager,请教大家如何做?

我的前台页面是这样的:

其中分页控件的代码是


后台页面的代码是:



问题是:现在能显示总记录数、页码,但是点击其他页码的时候,不能正常跳转过去。如何解决呢? aspnetpager --------------------编程问答-------------------- AspNETPager的示例是这样的:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
int totalOrders = (int)SqlHelper.ExecuteScalar(CommandType.StoredProcedure, "P_GetOrderNumber");
AspNetPager1.RecordCount = totalOrders;
}
}


前台代码:
<div>该示例演示如何使用AspNetPager分页控件和SqlDataSource控件进行分页
</div><br />
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
    <HeaderTemplate>
    <table width="100%" border="1" cellspacing="0" cellpadding="4" style="border-collapse:collapse">
    <tr style="backGround-color:#CCCCFF"><th style="width:15%">订单编号</th><th style="width:15%">订单日期</th><th style="width:30%">公司名称</th><th style="width:20%">客户编号</th><th style="width:20%">雇员姓名</th></tr>
    </HeaderTemplate>
    <ItemTemplate>
    <tr style="background-color:#FAF3DC">
    <td><%#DataBinder.Eval(Container.DataItem,"orderid")%></td>
    <td><%#DataBinder.Eval(Container.DataItem,"orderdate","{0:d}")%></td>
    <td><%#DataBinder.Eval(Container.DataItem, "companyname")%></td>
    <td><%#DataBinder.Eval(Container.DataItem,"customerid")%></td>
    <td><%#DataBinder.Eval(Container.DataItem,"employeename")%></td>
    </tr>
    </ItemTemplate>
    <FooterTemplate>
    </table>
    </FooterTemplate>
</asp:Repeater>
<webdiyer:aspnetpager id="AspNetPager1" runat="server" HorizontalAlign="Center" Width="100%"></webdiyer:aspnetpager>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Sql2005Express %>"
    SelectCommand="<%$ AppSettings:pagedSPName %>" SelectCommandType="StoredProcedure">
    <SelectParameters>
        <asp:ControlParameter ControlID="AspNetPager1" DefaultValue="1" Name="startIndex"
            PropertyName="StartRecordIndex" Type="Int32" />
        <asp:ControlParameter ControlID="AspNetPager1" DefaultValue="10" Name="endIndex"
            PropertyName="EndRecordIndex" Type="Int32" />
    </SelectParameters>
</asp:SqlDataSource>
--------------------编程问答-------------------- 没有使用AspNetPager1_PageChanged的,你按Demo上的试试 --------------------编程问答-------------------- 我看过示例的,有点麻烦啊。 --------------------编程问答-------------------- 首先你要会写Sql分页语句,然后再查出所有满足条件的记录数(不是gridview的count),
这是绑定方法

 void BindData()
 {
 Service ser = new Service();
 int recordCount = ser.GetAllCount(getSelect());//获取满足条件的总记录数
 DataTable dt = ser.SelectMember(AspNetPager1.PageSize,  AspNetPager1.CurrentPageIndex, getSelect());//获取当前页数的数据
  AspNetPager1.RecordCount = recordCount;//将总记录数绑定给分页控件
  gvMemberList.DataSource = dt;
  gvMemberList.DataBind();
}

分页事件

  protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
    {
        AspNetPager1.CurrentPageIndex = e.NewPageIndex;
        BindData();
    }

基本上就是这样了
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,