今天项目遇到了如题所示的问题,按照官方的案例介绍作分页,简直要奔溃了,web
使用URL重写,可是page老是1,根本不跳,测试
不使用URL重写,又出现,第一页是 http://aa.com/view_aspx/pagetest.aspx?page=1,点击第二页就变成http://aa.com/pagetest.aspx?page=2 这样路径不对spa
最近解决办法server
首先是页面控件部分,特别注意红色部分,那个page必定要用page ,用别的没有用的事件
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" UrlPaging="True" UrlPageSizeName="page" PageIndexBoxType="DropDownList"
HorizontalAlign="left" PageSize="5"
OnPageChanged="AspNetPager1_PageChanged" CssClass="pages"
CurrentPageButtonClass="cpb" FirstPageText="首页" LastPageText="最后一页"
NextPageText="下一页" PrevPageText="上一页" EnableUrlRewriting="true" UrlRewritePattern="/View_Aspx/EvalInfoList.aspx?page={0}">get
而后后台里面:ViewState["currentPageId"] 保存他的页码值string
if (Request.QueryString["page"] != null && !string.IsNullOrEmpty(Request.QueryString["page"].ToString()))
{
int currentPageId = Convert.ToInt32(Request.QueryString["page"].ToString());
ViewState["currentPageId"] = currentPageId;
}
else
{
ViewState["currentPageId"] = 1;
}it
AspNetPager1.CurrentPageIndex = Convert.ToInt32(ViewState["currentPageId"]);
AspNetPager1.RecordCount = evalservice.GetEvaltionListCount(sitelangId);io
if (!IsPostBack)
{
BindData(1);
}ast
//分页事件里面这样写:
protected void AspNetPager1_PageChanged(object src, EventArgs e)
{
BindData(Convert.ToInt32(ViewState["currentPageId"]));
}
目前来说测试过几页没有问题的