MVC中,加入的一個aspx頁面用到AspNetPager控件處理辦法

今天項目遇到了如題所示的問題,按照官方的案例介紹作分頁,簡直要奔潰了,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"]));
}

 

目前來說測試過幾頁沒有問題的

相關文章
相關標籤/搜索