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控件进行分页--------------------编程问答-------------------- 没有使用AspNetPager1_PageChanged的,你按Demo上的试试 --------------------编程问答-------------------- 我看过示例的,有点麻烦啊。 --------------------编程问答-------------------- 首先你要会写Sql分页语句,然后再查出所有满足条件的记录数(不是gridview的count),
</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>
这是绑定方法
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