我的前台页面是这样的:其中分页控件的代码是
后台页面的代码是:问题是:现在能显示总记录数、页码,但是点击其他页码的时候,不能正常跳转过去。如何解决呢?aspnetpager

解决方案 »

  1.   

    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>
      

  2.   

    没有使用AspNetPager1_PageChanged的,你按Demo上的试试
      

  3.   

    首先你要会写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();
        }基本上就是这样了